[英]Changing a div with a remote javascript file
服務器x上有一個X頁面,上面有一個html文件
<script type="text/javascript" src="http://pageYserverY.com/remote.php?hat=strong"></script>
<div name="lev">Hallo world</div>
考慮從遠程服務器Y包含JS文件。
Y頁上的文件(remote.php)如下所示:
<?php
Header("content-type: application/x-javascript");
$hat = $_GET["hat"];
echo "document.write(\"$hat\");"; // write it once
?>
document.getElementsByName("lev").innerHTML="Hello World AGAIN";
為什么不更改div。 我的整個方法和對跨瀏覽器JS的理解是錯誤的嗎?
順便說一句:調用php生成的js是Google本身在recaptcha和google ads上使用的一種方法。
我認為您會發現這僅僅是一個訂購問題。 div准備就緒之前,JavaScript正在執行。
將腳本移動到div下方,如下所示:
<div name="lev">Hallo world</div>
<script type="text/javascript"
src="http://pageYserverY.com/remote.php?hat=strong"></script>
最好使用getElementById
getElementsByName
。
GetElementsByName
方法返回一個數組,並且當您嘗試調用element.focus()
,由於沒有數組上的focus
方法而導致錯誤。 當事件處理程序中出現錯誤時,它不會阻止表單發布。
如果使用GetElementById
,則應使用element
來訪問元素,如果使用GetElementsByName
,則應使用element[0]
。
重復
getElementById gets an element via an id. getElementsByName returns an Array of elements by their name.
然后這是工作:
<div id="lev">Hallo world</div>
<?php
Header("content-type: application/x-javascript");
$hat = $_GET["hat"];
echo "document.write(\"$hat\");"; // write it once
?>
document.getElementById("lev").innerHTML="Hello World AGAIN";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.