несколько ссылок в операторе if - PullRequest
1 голос
/ 08 июня 2011

У меня есть скрипт, который указывает, что определенный элемент не будет отображаться на определенной странице. Ниже приведен код, который я использовал:

   <script type="text/javascript">
   function callOnPageLoad()
   {
   var url = window.location.href;
   if(url == "http://www.exampledomain.com")
   {
   document.getElementById('rolex').style.display = 'none';
   }
   }
   </script>     

Однако мне нужно указать еще несколько URL в выражении if, как правильно это сделать?

Большое спасибо

Ответы [ 7 ]

2 голосов
/ 08 июня 2011

Я предпочитаю генерировать ассоциативный массив и затем проверять, установлена ​​ли строка. Он может быть получен из AJAX, из другого скрипта и т. Д. И не может быть введен в код, если

   <script type="text/javascript">
   var urlArray = { "http://www.exampledomain.com" : true, "http://www.exampledomain.com/foobar.html" : true };
   function callOnPageLoad()
   {
   var url = window.location.href;
   if( urlArray[url] )
   {
   document.getElementById('rolex').style.display = 'none';
   }
   }
   </script>     
0 голосов
/ 08 июня 2011

if(url == "http://www.exampledomain.com" || url =="http://www.url2.com" || url == "http://www.url3.com") и прочее ...?

0 голосов
/ 08 июня 2011
 function callOnPageLoad(type)

    {
        var url = window.location.href;
             var urls=new array("http://www.exampledomain1com","http://www.exampledomain2.com");    


        if(url in urls){
            document.getElementById('rolex').style.display = 'none';
        }
    }
0 голосов
/ 08 июня 2011

вы можете создать массив этих URL-адресов и запускать их для цикла, это будет более динамичным подходом к вашей проблеме.

использование длинных операторов if нецелесообразно, так как вы можете потерять здесь символ илинемного логики там

Если ваши URL-адреса указывают на внешние URL-адреса или соответствуют другим шаблонам, которые вы можете отличить от других URL-адресов, вы можете использовать его без массива.

0 голосов
/ 08 июня 2011

имеют массив URL и повторяются

function callOnPageLoad()
{
   var urls = [
      "http://www.exampledomain.com",
      "http://www.exampledomain2.com"
   ];
   var url = window.location.href;
   for ( var i=0; i < urls.length; i++ ) {
      if(url == urls[i])
      {
          document.getElementById('rolex').style.display = 'none';
          break;
      }
   }   

}
0 голосов
/ 08 июня 2011

Добавить больше условий в блок if:

   <script type="text/javascript">
   function callOnPageLoad()
   {
   var url = window.location.href;
   if(url == "http://www.exampledomain.com" || url == "anotherurl" || url == "andanother")
   {
   document.getElementById('rolex').style.display = 'none';
   }
   }
   </script>
0 голосов
/ 08 июня 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...