分配外部Javascript src的输出以避免脚本挂起

时间:2013-07-26 14:12:36

标签: php javascript

我有两个网站:domain1.comdomain2.com

domain1.com/external.php上的脚本是:

<?php
echo <<<ots
<!--
document.write('Hello World!');
//-->
ots;
?>

我想在external.php上执行此domain2.com脚本,因此我使用:

<script src="http://domain1.com/external.php"></script>

问题是 - Javascript经常挂掉,所以我想在< script..下面加< /body>。但是,我必须在页面上的特定位置打印Hello World!文字(即在</head>之后。)

问题 - 我可以在< script..下方< /body>包含以某种方式分配输出,然后在脚本执行后将此变量放在页面上吗?

或任何其他类似的解决方案?我不能使用JQuery。

2 个答案:

答案 0 :(得分:0)

您可以在external.php文件中使用

header('Content-type: text/javascript');

所以可以像

一样使用它
<script src="http://domain1.com/external.php"></script>

答案 1 :(得分:0)

您可以使用 innerHTML 替换页面上一个元素的内容:

document.getElementById('idOfTarget').innerHTML='Hello World!';

请注意,您只能在创建元素后对其进行修改,如果可能,请将脚本放在</body>之前,或使用 window.onload 事件:

window.onload=function(){
     document.getElementById('idOfTarget').innerHTML='Hello World!';
};

另见this mine earlier answer to see how to replace an element by the classname or the tagname.


如果您需要在脚本中使用PHP,那么您仍然可以这样做:

window.onload=function(){
     document.getElementById('idOfTarget').innerHTML='<?php
          echo "Hello World!";
     ?>';
};

请注意,如果您想要更新大量元素,可以使用AJAX / JSON