簡體   English   中英

使用遠程JavaScript文件更改div

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM