AJAX 깊은 링크 된 사이트가 있습니다.AJAX 딥 링크 된 사이트에 포함 된 개체에 대한 스크립트를 실행하는 방법
<html>
<head>
...
</head>
<body>
...
<!-- AJAX will change the content of this div tag -->
<div id="ajax">
...
</div>
...
</body>
</html>
그래서 여기에 생각이 AJAX는 URL (#query
)의 조각 값에 따라 적절하게 <div id="ajax">
의 내용을 채우는 것입니다 : 기본 구조는 다음과 같은 것입니다.
여기에 문제가 있습니다. 이걸 고려하세요. 사용자가 페이지 #query
로 이동,이 후
<html>
<head>
...
</head>
<body>
...
<!-- AJAX will change the content of this div tag -->
<div id="ajax">
<!-- content of the home page -->
...
</div>
...
</body>
</html>
: (#home
) 다음과 같은로드 - 사용자가 처음에이 페이지를로드합니다. 이 페이지를로드하기 위해 AJAX는 <div id="ajax">
태그의 innerHTML을 변경합니다. #query
의 콘텐츠에 포함 된 개체 (이 예에서는 FlowPlayer를 사용하는 포함 된 비디오)가 있다고 가정 해 보겠습니다. AJAX가 끝나면 코드는 다음과 같이 보입니다.
<script>
flowplayer("player", "flowplayer.swf", {
clip: "video.mp4"
});
</script>
나는이 문제를 해결하거나 내가 뭘 어떻게 : 그래서 여기
<html>
<head>
...
</head>
<body>
...
<!-- AJAX will change the content of this div tag -->
<div id="ajax">
<!-- Flowplayer JavaScript component -->
<script src="flowplayer-3.2.4.min.js"></script>
<!-- The player container -->
<div id="player" style="width:720px;height:480px;"></div>
<!-- Player installation -->
<script>
flowplayer("player", "flowplayer.swf", {
clip: "video.mp4"
});
</script>
</div>
...
</body>
</html>
내가이 작업을 수행 할 때, 다음과 같은 스크립트는 결코 실행하지 않으며, 따라서 비디오가 결코로드하지 질문입니다 잘못된?
도움을 주시면 감사하겠습니다.
편집 나는이 작업을 수행하여 ajax
div 태그의 HTML 콘텐츠를 교환하는 데 사용
진행 보고서 :
이제document.getElementById("ajax").innerHTML = xmlhttprequest.responseText;
나는이로 변경되었습니다
var element = document.createElement("div");
element.setAttribute("id", "ajax");
element.innerHTML = xmlhttprequest.responseText;
toswap = document.getElementById("ajax");
toswap.parentNode.replaceChild(element, toswap);
이를 Firefox에서 문제가 해결되어 <script>
이 실행되지만 Chrome 및 IE에서는 여전히 작동하지 않습니다.
아이디어가 있으십니까?
무엇처럼 아약스 코드를 봐 - 컨텐츠를 가져와 페이지에 DOM 조각을 추가하는 코드? 아약스를 돕기 위해 JavaScript 라이브러리를 사용하고 있습니까? – Pointy
딥 링크에 SWFAddress를 사용하고 있습니다. 그런 다음 XMLHttpRequest를 사용하여 검색하려는 파일의 내용을 가져온 다음 HTML 내용을 바꾸기 위해'document.getElementById ("ajax"). innerHTML = xmlhttprequest.responseText'를 수행합니다. – miki725