0
object 태그를 통해 html 파일을 추가하고 있습니다. object 태그를 둘러싸는 div는 숨겨져 있습니다 (display : none).onpageshow는 webkit에서만 올바르게 작동합니다 (화면 상에 보이는 경우에만 함수를 실행 함).
내가 겪고있는 문제는 HTML 객체의 본문 태그에 onpageshow 이벤트를 넣었지만 브라우저에서 다르게 작동한다는 것입니다.
파이어 폭스는 즉시 HTML이 객체 내에서로드로 기능을 재생하는 것
- 내가 (내가 원하는 것입니다) 사업부를 숨기기를 취소 전용 (사파리/크롬)을 재생
웹킷
Opera/IE10은이 기능을 전혀 재생하지 않습니다.
화면에 표시 될 때만 기능을 실행하는 다른 방법이 있습니까?
다음은 데모입니다. 내가 뭘하려고하는지.
주 창의 코드. 포함 개체
<script type="text/javascript">
function callme()
{
alert("running");
}
</script>
</head>
<body onpageshow="callme();">
</body>
에 대한
<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>
코드 그래서 기본적으로 경고 사업부가 표시되고 객체가로드 된 경우에만 실행해야합니다.
코드를 포함 시키십시오. 질문을 쉽게 대답 할 수 있습니다. –
확실히, 나는 그것을 원래 게시물에 포함 시켰습니다. 나는 그것이 의미가 있기를 바랍니다. – Jason