0
我正在通過對象標記添加html文件。圍繞對象標籤的div是隱藏的(display:none)。onpageshow只能在webkit中正常運行(僅在屏幕上可見時才能運行)
我遇到的問題是,我已經把一個onpageshow事件放在html對象的body標籤上,但它在不同的瀏覽器中運行不同。
火狐似乎只要HTML是對象中加載播放功能
的Webkit(Safari /鉻)發揮它,只有當我取消隱藏在div(這是我想要什麼)
Opera/IE10根本不播放該功能。
是否有另一種方式讓功能只有在屏幕上可見時才能運行?
這是演示。我正在嘗試做什麼。
主窗口代碼。
<script type="text/javascript">
function runthis()
{
if (document.getElementById("wrapper").style.display == "none")
{
document.getElementById("wrapper").style.display = "block";
document.getElementById("hide").innerHTML = 'Div showing';
}
else
{
document.getElementById("wrapper").style.display = "none";
document.getElementById("hide").innerHTML = 'Div hidden';
}
}
function removeObject()
{
if(document.getElementById("wrapper").innerHTML == '')
{
document.getElementById("wrapper").innerHTML = '<object id="test_object" name="name" data="frame.html" onshow="callme();"></object>';
document.getElementById("add").innerHTML = 'Object added';
}
else
{
document.getElementById("wrapper").innerHTML = '';
document.getElementById("add").innerHTML = 'Object removed';
}
}
</script>
<body>
<div id="wrapper" style="display:none"></div>
<div>
<button type="button" onclick="runthis();">Show/Hide</button>
<button type="button" onclick="removeObject();">Add/Remove</button>
<div id="status"><span>Status: </span><span id="hide">Div hidden</span> | <span id="add">Object removed</span></div>
</div>
</body>
代碼包含對象
<script type="text/javascript">
function callme()
{
alert("running");
}
</script>
</head>
<body onpageshow="callme();">
</body>
所以基本上警報應該運行僅在DIV中展現的對象已經加載。
請包括代碼,它使問題更容易回答。 –
當然,我已經將它包含在原始文章中。我希望這是有道理的。 – Jason