2017-01-19 2 views
1

Chrome не перенаправляется на сайт интрасети. Метод onload тела бесконечно зацикливается. Если я изменю цель на внешний веб-сайт, такой как google.com, перенаправление работает. Может кто-нибудь дать указателям, чтобы найти, почему существует бесконечный цикл для моего сайта интрасети?Javascript redirect бесконечный цикл

Ниже мой HTML

<!DOCTYPE HTML> 
<script type="text/javascript" src="openBrowser.js"></script> 
<script type="text/javascript"> 
function openURL(){ 
    var targetURL="http://myintranetsite"; 
    openBrowser(targetURL); 
} 
</script> 

<BODY onLoad="openURL()"> 
    <div id="loadBrowser"><h1>Opening Browser..</h1></div> 
</BODY> 
</HTML> 

мой Javascript

var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 
if(isChrome) 
    { 
     //Changes the URL to destination if the current chrome browser version is 40 
     if(getChromeVersion()>=40) 
     {    
      window.location=targetURL;            
     } 
} 
+0

Ну, мне кажется, что вы постоянно перенаправляетесь на ту же страницу? –

+0

хорошо, если вы продолжаете работать с кодом и концом назад, конечно, он будет зацикливаться – epascarello

+1

Что такое функция 'openBrowser'? Эта страница вы перенаправляете * на * или перенаправляете * из *? Если все это одна страница, то я не знаю, чего вы ожидаете. Первое, что вы делаете, когда загружается страница, - это проверить версию Chrome и перенаправить их. Затем он снова проверяет и перенаправляет снова. Навсегда. – Santi

ответ

0

Убедитесь, что window.location не ваша страница интранета

if (window.location.hostname.indexOf("myintranetsite") > -1) { 
    openBrowser(targetURL); 
} 

В качестве альтернативы может быть, нажал на тормоза немного позже :

if (window.location.toString() != targetURL && getChromeVersion()>=40) {    
    window.location=targetURL;            
} 
+0

Спасибо, но не работает – kunaguvarun

+0

@ku Нагуварун сожалеет об этом - я сделал ранее редактирование и сделал только половину работы. Попробуйте это – dtanders

+0

ok, это останавливает бесконечное обновление и передает управление моей секции обработки ошибок, что означает, что URL-адрес не обновляется. Любой способ полностью очистить существующий URL и перенаправить на новый? – kunaguvarun

0

Ваш код должен быть перенаправлен для версии 40 или выше, вы должны убедиться, что вы еще не находитесь там, куда хотите идти, что вызывает бесконечное перенаправление. Вот код, который может работать на вас

var isChrome = navigator.userAgent.toLowerCase().indexOf('chrome') > -1; 
    if(isChrome) 
    { 
      //Changes the URL to destination if the current chrome browser version is 40 
      if(getChromeVersion()>=40 && window.location!==targetURL) 
      {    
       window.location=targetURL;            
      } 
    } 
+0

Спасибо, попробовал ваше предложение, но не работал – kunaguvarun

+0

Что делает openBrowser()? также можете использовать console.log значения window.location и targetURL? –

+0

openBrowser() идентифицирует браузер и его версии. Хорошо, на самом деле мой переадресация IE - это чит. Я запускаю новое окно IE для загрузки нового URL-адреса. Если я использую перенаправление как для Chrome, он обновляется бесконечно – kunaguvarun

Смежные вопросы