2011-01-27 2 views
2

Safari에서만 문제가 발생합니다. IE, FF, Chrome 및 Opera는 완벽하게 작동합니다. 상기document.write로 Safari의 Javascript의 문제가 발생했습니다.

document.write(MyObject)

: 나는 쓰기 객체 유형을 판별 한 후 내가 통해 DOM에 추가 DOM 그래서 (유튜브에서 ActiveX 또는 NPAPI에 따라 그것을 않습니다 동일한 방식)에 객체를 추가하고 body 섹션에서 호출 된 js 함수가 페이지에 액세스 할 수 있도록 페이지의 head 섹션에 추가합니다. Safari를 제외한 모든 기능에서 작동합니다. Safari가 작동하게하는 유일한 방법은 document.write 뒤에 경고를 추가하는 것입니다! 심지어 setTimeout 시도했지만 한 번 작동하고 실패합니다.

+0

'document.write'를 사용하지 마십시오. – Raynos

+0

네, 좋은 솔루션을 찾을 수있었습니다. – Orca

답변

1

Document.write가 본문 자체에서 올바르게 작동하지 않으며 document.body.appendChild가 개체 태그를 추가해도 작동하지 않습니다. 내가 한 그래서

var objectContainer = createElement("div"); 
objectContainer.innerHTML = "<object blah blah> <\/object>"; //<--notice the escaping of/
document.body.appendChild(objectContainer); 

이었다 그리고 지금은 모든 곳에서 작동합니다.

1

document.body.appendChild(MyObject) 사용을 고려 했습니까?

+0

이미 시도했습니다. 작동하지 않지만 다른 오류를 반환합니다 : variable objectID를 찾을 수 없습니다 – Orca

+0

본문에'document.write (MyObject)'를 추가하십시오. –

관련 문제