使用远程javascript文件更改div

时间:2013-06-21 09:50:36

标签: javascript remote-server

服务器x上有第X页,带有像这样的html文件

<script type="text/javascript" src="http://pageYserverY.com/remote.php?hat=strong"></script>
<div name="lev">Hallo world</div>

考虑JS文件包含在远程服务器Y中。

第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广告上使用的方法。

2 个答案:

答案 0 :(得分:1)

我想你会发现它只是一个订购问题。在div准备好之前,JavaScript正在执行。

将脚本移动到div下面,如下所示:

<div name="lev">Hallo world</div>
<script type="text/javascript" 
src="http://pageYserverY.com/remote.php?hat=strong"></script>

答案 1 :(得分:1)

最好使用getElementById的{​​{1}}。

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.