Internet Explorer не читает файл Js - PullRequest
1 голос
/ 27 ноября 2011

Я использую JavaScript, чтобы перезаписать некоторые предустановленные параметры в своих веб-сайтах.Сценарий отлично работает в Chrome и Firefox, однако он не работает в Internet Explorer вообще.

Мой сценарий <script src="http://www.amorame.com/geoff.js"></script>;

alert('test');
function x(){
    var y=document.forms[0].elements["pm"];
    var z;
    for (var j=0; j<y.length; j++) {
        z=y[j];
        if (z.value=="40") {
            z.style.display="none";
        }
    }
    document.body.innerHTML=document.body.innerHTML.replace("Payment by <b>Moneybookers</b> e-wallet<br>","");
    document.body.innerHTML=document.body.innerHTML.replace("Maestro, Visa and other credit/debit cards by <b>Moneybookers</b>","Pago con Diners Club, Mastercard o Visa");
}
onload=x;

Я довольно новичок в JSи, честно говоря, я просто не могу понять, как это исправить, чтобы IE прочитал сценарий.

Ответы [ 5 ]

1 голос
/ 27 ноября 2011

Я никогда не слышал, чтобы IE не читал js-файл, обычно я проверяю, добавляя простую строку:

alert('test');

чтобы проверить, загружен ли файл ..

если вы получаете предупреждение, тогда файл загружается, но код не работает должным образом для IE, что более вероятно, чем то, что IE вообще не загружает JS ..

0 голосов
/ 31 августа 2018

У меня были те же симптомы с Internet Explorer. Все сводилось к функции стрелки, не поддерживаемой IE.

0 голосов
/ 29 ноября 2011

Это ошибка в IE.Если вы предупредите innerhtml, вы увидите, что он заменен.Но браузер не отражает это.

Проверьте этот вопрос SO: https://stackoverflow.com/questions/1293427/

Вам нужно использовать больше функций DOM, чтобы изменить его.Вот небольшой фрагмент кода, который генерирует dom (мое школьное задание, поэтому не обращайте внимания на фиктивный текст):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>Creating the Dom!</title>
    <link rel="stylesheet" type="text/css" href="createDom.css">
    <script type="text/javascript">

   function buildbody() 
   {
        var body = document.getElementsByTagName("body")[0];

        var theHeader = document.createElement('h1');
        var theHeaderTxt = document.createTextNode('Study program Bachelor of ICT');
        theHeader.appendChild(theHeaderTxt);
        body.appendChild(theHeader);

        var theHeader2 = document.createElement('h2');
        var theHeader2Txt = document.createTextNode('Introduction');
        theHeader2.appendChild(theHeader2Txt);
        body.appendChild(theHeader2);

        var txtN1 = document.createElement('p');
        var pTxt1 = document.createTextNode(
        'Western society is based on well functioning but rapidly changing technological applications.\n' +
        'However, mere specialisation is no longer enough modern technologistsneed to be capable of forming \n' +
        'a global overview of the developments in their branch. Accordingly, graduates from the Faculty of \n' +
        'Technology of University Drenthe are broadly educated technologists with an eye for innovation, \n' + 
        'management and social circumstances. The Faculty of Technology offers a four-year study program \n' +
        'Bachelor of ICT.');
        txtN1.appendChild(pTxt1);
        body.appendChild(txtN1); 

        var theHeader3 = document.createElement('h2');
        var theHeader3Txt = document.createTextNode('Course characters');
        theHeader3.appendChild(theHeader3Txt);
        body.appendChild(theHeader3);

        var pTxt2 = document.createTextNode(
        'Work is done on a problem-oriented, project basis, often involving external research, and the \n' +
        'practical training periods are completed at interesting positions in the relevant industries.');
        var txtN2 = document.createElement('p');
        txtN2.appendChild(pTxt2);
        body.appendChild(txtN2); 

        var theHeader4 = document.createElement('h2');
        var theHeader4Txt = document.createTextNode('Internship');
        theHeader4.appendChild(theHeader4Txt);
        body.appendChild(theHeader4);

        var pTxt3 = document.createTextNode(
        'In the third and fourth year students have the opportunity to put the theory into practice. \n' +
        'A company based traineeship of five months in the third year is part of the program and in the \n' +
        'fourth year students work on a final graduation project for one semester. Both periods can be \n' +
        'spent in the Netherlands or abroad.');
        var txtN3 = document.createElement('p');
        txtN3.appendChild(pTxt3);
        body.appendChild(txtN3); 

        var linkN1 = document.createElement('a');
        var linkTxt1 = document.createTextNode('Click for more information');
        linkN1.setAttribute('href','http://www.hbo-i.nl/default.aspx?pageID=24');
        linkN1.appendChild(linkTxt1);
        body.appendChild(linkN1);
   }
    </script>
  </head>
    <body onload="buildbody()">
    </body>
</html>

Как вы можете видеть, тело документа полностью пусто, и скрипт генерирует его,Вы также должны изменить дом следующим образом.

0 голосов
/ 27 ноября 2011

Вероятно, скрипт не работает в IE, а не читается в IE. Вы проверили консоль IE JavaScript?

0 голосов
/ 27 ноября 2011

Попробуйте:

<script type="text/javascript" src="http://www.amorame.com/geoff.js"></script>;

И посмотрите, работает ли скрипт с alert('test');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...