Safari 12.1 卸载未触发 javascript
Safari 12.1 unload not firing javascript
我有 javascript,它不能在 Safari 中触发,但可以在所有其他浏览器上运行(iOS Safari、Chrome、Firefox、Opera、IE)。
我已经在所有其他浏览器(iOS Safari、Chrome、Firefox、Opera、IE)上测试过,并且在 Safari 11.1 上有效。
HTML:
正文加载="showdiv('Citizenship');"
Javascript:
var pages = document.getElementsByClassName("page");
function showdiv(id_page)
{
for(var count_page=0; count_page<pages.length; count_page++)
{
str_id = pages.item(count_page).id;
if (id_page == str_id)
{
document.getElementById(str_id).style.display = 'block';
document.getElementById(str_id).focus();
} // if (id_page == str_id)
else
{
document.getElementById(str_id).style.display = 'none';
} // if (id_page == str_id) else
} // for(var count_page=0; count_page<pages.length; count_page++)
} // function showdiv(id_page)
我没有收到任何控制台错误消息。
该页面位于http://www.ocetacea.net/MAT/EDLT6616/DigitalCitizenship/index.html
我的目标是在页面加载后只有 "What is Digital Citizenship?"。
在 Safari 中,body onload
事件似乎在页面的所有内容下载完成后触发。
在您的情况下,您有大约 40mb 的视频需要在 Safari 触发正文加载操作之前完成加载。要解决此问题,您可以通过其他方式触发 showdiv() 函数,例如:
document.addEventListener('readystatechange', function() {
if(document.readyState === 'interactive'){
showdiv('Citizenship');
}
});
注意:这对我来说适用于 Safari,但我还没有尝试过其他浏览器。
此外,您可能想阻止 auto-download 视频以节省数据传输费用。
我有 javascript,它不能在 Safari 中触发,但可以在所有其他浏览器上运行(iOS Safari、Chrome、Firefox、Opera、IE)。
我已经在所有其他浏览器(iOS Safari、Chrome、Firefox、Opera、IE)上测试过,并且在 Safari 11.1 上有效。
HTML:
正文加载="showdiv('Citizenship');"
Javascript:
var pages = document.getElementsByClassName("page");
function showdiv(id_page)
{
for(var count_page=0; count_page<pages.length; count_page++)
{
str_id = pages.item(count_page).id;
if (id_page == str_id)
{
document.getElementById(str_id).style.display = 'block';
document.getElementById(str_id).focus();
} // if (id_page == str_id)
else
{
document.getElementById(str_id).style.display = 'none';
} // if (id_page == str_id) else
} // for(var count_page=0; count_page<pages.length; count_page++)
} // function showdiv(id_page)
我没有收到任何控制台错误消息。
该页面位于http://www.ocetacea.net/MAT/EDLT6616/DigitalCitizenship/index.html
我的目标是在页面加载后只有 "What is Digital Citizenship?"。
在 Safari 中,body onload
事件似乎在页面的所有内容下载完成后触发。
在您的情况下,您有大约 40mb 的视频需要在 Safari 触发正文加载操作之前完成加载。要解决此问题,您可以通过其他方式触发 showdiv() 函数,例如:
document.addEventListener('readystatechange', function() {
if(document.readyState === 'interactive'){
showdiv('Citizenship');
}
});
注意:这对我来说适用于 Safari,但我还没有尝试过其他浏览器。
此外,您可能想阻止 auto-download 视频以节省数据传输费用。