我已經構建了一個基本上是帶有使用AJAX填充不同頁面的div的主頁的網頁。這基本上通過使用innerHTML將頁面加載到div中起作用。我碰到的一個問題是,當一個帶有JavaScript的頁面被加載到該div中時,所有其他代碼都可以正常運行;只是JavaScript不起作用。無法使用innerHTML導入javascript代碼
主網頁(的index.php):
<html>
<head>
<script type="text/java">
////bunch of functions////
////Ends up that page_request on this instance is 'graph.php'////
document.getElementById('mydiv').innerHTML=page_request.responseText
</script>
</head>
<body>
<div id="mydiv"><div>
</body>
</html>
子頁(在DIV(graph.php加載)):
<html>
<head>
<link rel="stylesheet" href="mystyle.css" type="text/css" media="screen" />
<script src="other_stuff.js"></script>
</head>
<body>
<script>
///bunch of script////
</script>
</body>
</html>
現在正在加載頁面本身時(開圖.php)我注意到一切正常,它只是當我通過innerHTML導入graph.php到index.php到我的div它不起作用(沒有錯誤只是沒有顯示)。我已經閱讀了許多其他的帖子和指南,並沒有提出任何直接的解決方案;認爲我所看到的是:
- 將eval()在我的代碼[我在guide看到,這可能會導致 惡意用戶的攻擊。
- 主頁上創建腳本,然後就使用導入數據:
- 使用document.createElement()和.parentNode.insertBefore()
- 創建一個監聽器和調用的函數,當我打開圖.PHP
- 而這種良好的example
即使我不是100%肯定這是如何的例子可以工作,因爲我有PHP的JavaScript來收集填充信息和然後在graph.php上繪製我的圖形;所以如果我把這個函數放到index.php中,PHP將會被加載,所以我不得不刷新頁面或者打電話給他們去更新信息。只是對於一些情況下,我很好,但我是新的和JavaScript的鬥爭,所以我不知道什麼解決方案將適合我的情況或工作最好。任何提示/例子將不勝感激,謝謝你的時間。
那麼首先第一件事情,你導入entir e頁面並將其放入div中,其中包括。你請求的頁面應該只有html應該在div中。 –