Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Ввод ссылка в адресной строке (https://javascript.ru/forum/dom-window/43134-vvod-ssylka-v-adresnojj-stroke.html)

Alfer 23.11.2013 21:26

Ввод ссылка в адресной строке
 
Добрый день, сейчас если ввести в адресную строку сайт который грузится в iframe: http://www.mysite.ru - работает, но если вводить: www.mysite.ru или просто mysite.ru - то не работет, пишет: Не удалось найти файл или каталог.

использую следующий скрипт:

<script type="text/javascript">
var url;
function submitURL() {
url = document.getElementById("goTo").value;
check = url.substr(0,7);
check = check.toLowerCase();
if (check != "http://")
{
url = "http://"+url;
myURL.document.location.href = url;
}
else
{
myURL.document.location.href = url;
}
}
</script>


как поправить его чтоб по разному воспринимал ввод URL, спасибо

Deff 23.11.2013 22:35

function transformURL(a) {
 a = a.replace(/^www\.|http:\/\/www\.|^\/\/www\./,'');
 return a = ('http://'+a);
}
var b = 'mysite.ru';
alert(transformURL(b))

var b1 = 'www.mysite.ru';
alert(transformURL(b1))

Alfer 23.11.2013 22:53

а как подобное применить к моему скрипту? если делаю

check = url.replace(/^www\.|http:\/\/www\.|^\/\/www\./,'');

ничего не дает

Deff 24.11.2013 00:27

Alfer,
Дык там готовая функция ?
function transformURL(a) {
 a = a.replace(/^www\.|http:\/\/www\.|^\/\/www\./,'');
 return a = ('http://'+a);
}
check =  transformURL(url)

Alfer 24.11.2013 00:54

ну да, там готовая функция function submitURL()

ruslan_mart 24.11.2013 10:14

Deff, а если https? :)

Alfer 24.11.2013 14:11

<script type="text/javascript">
var url;
function submitURL() {
url = document.getElementById("goTo").value;
check = url.substr(0,7);
check = check.toLowerCase();
сheck = url.replace(/^www\.|http:\/\/www\.|^\/\/www\./,'');

if (check != "http://")
{
url = "http://"+url;
myURL.document.location.href = url;
}
else
{
myURL.document.location.href = url;
}
}
</script>


не работает

Alfer 24.11.2013 15:35

нет не получается, ввожу урл: javascript.ru - мне пишет: Не удалось найти файл или каталог, ввожу: www.javascript.ru так же - Не удалось найти файл или каталог, но когда ввожу http://javascript.ru - тогда все работает, а надо чтоб и остальные работали

ruslan_mart 24.11.2013 16:03

http://learn.javascript.ru/play/T3ucBb

<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>
    <input id="url" type="text">
    <input onclick="test()" type="button" value="test">

    <script>
      var url = document.getElementById('url');
      
      function test() {
        var v = url.value;
        if(v.indexOf('http://') == v.indexOf('https://')) v = 'http://' + v;
        alert(v);
      }
    </script>

  </body>
</html>

Alfer 24.11.2013 16:17

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Address</title>
<script>
      var url = document.getElementById('url');
      
      function test() {
        var v = url.value;
        if(v.indexOf('http://') == v.indexOf('https://')) {
          v = 'http://' + v;
        }
        //alert(v);
      }
    </script>



</head>

<body>
<form target="myURL" onsubmit="this.action=this.goTo.value">
<b>Address:</b>&nbsp;<input type="text" name="goTo" onchange="test()" size="90%" id="goTo">
<input type='submit' value='Go' onclick='test();'>
<hr>
</form>
<iframe name="myURL" border="0" frameborder="0" width="100%" height="30%"></iframe>
</body>

</html>


вот что я использую, но все равно при вводе www.javascript.ru или http://javascript.ru - не работает, а так же не работает если вводить подобные ссылки, только если через http:// воодить, тогда работает


Часовой пояс GMT +3, время: 06:38.