Javascript函数将不会运行

Javascript function will not run

本文关键字:运行 函数 Javascript      更新时间:2023-09-26

我有以下脚本:

<script>
    (function(d, s, id, p) {
var js, ins = d.getElementsByTagName(s)[0];
    js = d.createElement(s); 
    js.src = "http://www.site.com/feeds/run.php?id="+id+"&p="+p;
    ins.parentNode.insertBefore(js, ins);
data();
}(document, 'script', 131, 'large'));
</script>

run.php实际上返回了一个运行良好并执行了一些函数的javascript,但我在上面的脚本中调用的函数(data();)将不会执行。数据功能读取:

function data(){
    var u;
    alert("I am an alert box");
    u = document.URL;
    document.body.innerHTML += '<form id="dynForm" target="transFrame" action="http://www.site.com/data.php" method="post"><input type="hidden" name="u" value="'+u+'"></form>';
    document.getElementById("dynForm").submit();
}

如果有人有信息可以帮助我运行此功能,我们将不胜感激。

--Chris大喊--我检查了所有的功能,它们都很好。如果我嵌入的脚本像:

<script type="text/javascript" src="http://www.site.com/feeds/run.php"></script>

但我不能使用这条线,因为我打算让人们把它添加到他们的网站上,不希望他们删除这些线来停止某些操作。但当我使用这个方法时,我必须在运行文件中的其他函数或这个函数之间做出选择。

插入包含数据函数的脚本后,您不需要等待脚本完成加载,因此数据函数还不可用。

试试这个:

(function(d, s, id, p) {
var js, ins = d.getElementsByTagName(s)[0];
    js = d.createElement(s); 
    js.src = "http://www.site.com/feeds/run.php?id="+id+"&p="+p;
    ins.parentNode.insertBefore(js, ins);
    var timer = setInterval(tryData, 100);
    function tryData()
    {
        if(window.data)
        {
            clearInterval(timer);
            data();
        }
    }
}(document, 'script', 131, 'large'));