Почему IE11 генерирует ошибку JavaScript SCRIPT16389: Неверная функция на этой странице, когда другие браузеры ведут себя нормально? - PullRequest
1 голос
/ 04 апреля 2019

Я создал проект в Articulate Storyline 3. Результатом проекта является веб-страница с большим количеством javascript. Можно разместить собственный код JavaScript внутри проекта. Мой пользовательский код заставляет браузер переходить в полноэкранный режим при нажатии кнопки на странице. Это хорошо работает в Chrome и Firefox, и даже полноэкранный в IE11. Однако когда вы нажимаете кнопку «Далее» на странице, чтобы перейти к следующему слайду в проекте, IE11 генерирует ошибку JavaScript. Ошибка: SCRIPT16389: неправильная функция. Эта ошибка, кажется, является общей ошибкой IE JavaScript, и я не уверен, как ее устранить. Пользовательский код javacript, который я ввел, кажется, не является непосредственной причиной ошибки, но ошибка генерируется при нажатии кнопки Next. Ниже приведен специальный код, который я прикрепил к кнопке, после чего браузер переходит в полноэкранный режим.

function add_script(scriptURL,oID) {
     var scriptEl = document.createElement("script");
     var head=document.getElementsByTagName('head')[0];
      scriptEl.type = "text/javascript";      
      scriptEl.src = scriptURL;      
      scriptEl.id=oID;      
      head.appendChild(scriptEl);}

//only want to add these once!
if(document.getElementById('jquery')==null){
add_script("https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js","jquery");

}


/* Get into full screen */
function GoInFullscreen(preso) {
    if(preso.requestFullscreen)
        preso.requestFullscreen();
    else if(preso.mozRequestFullScreen)
        preso.mozRequestFullScreen();
    else if(preso.webkitRequestFullscreen)
        preso.webkitRequestFullscreen();
    else if(preso.msRequestFullscreen)
        preso.msRequestFullscreen();
}

/* Get out of full screen */
function GoOutFullscreen() {
    if(document.exitFullscreen)
        document.exitFullscreen();
    else if(document.mozCancelFullScreen)
        document.mozCancelFullScreen();
    else if(document.webkitExitFullscreen)
        document.webkitExitFullscreen();
    else if(document.msExitFullscreen)
        document.msExitFullscreen();
}

/* Is currently in full screen or not */
function IsFullScreenCurrently() {
    var full_screen_preso = document.fullscreenpreso || document.webkitFullscreenpreso || document.mozFullScreenpreso || document.msFullscreenpreso || null;

    // If no preso is in full-screen
    if(full_screen_preso === null)
        return false;
    else
        return true;
}

GoInFullscreen($("#preso").get(0));

Проблему можно увидеть, открыв эту ссылку в IE11, http://andersonelearning.com/demo/FullScreen%201.1%20-%20Storyline%20output/story.html. Нажмите синюю кнопку «Ввести в полноэкранный режим». IE11 должен перейти в полноэкранный режим. Затем нажмите кнопку «Далее» в нижней правой части экрана. Ожидаемое поведение заключается в том, что текстовый слайд 2 должен появиться на экране, но вместо этого появляется вышеуказанная ошибка.

...