Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/428.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
尝试调用place并在已构建的html页面中运行javascript函数_Javascript_Html - Fatal编程技术网

尝试调用place并在已构建的html页面中运行javascript函数

尝试调用place并在已构建的html页面中运行javascript函数,javascript,html,Javascript,Html,我找不到问题的答案,所以我希望有人知道答案 我正在尝试进行支持聊天,我正在尝试将其加载到“管理区域”的聊天窗口中。这一切正常,但需要收集传入消息的函数没有运行。当我在控制台中调用它时,它会工作,并显示在html中,但它不会自行运行。函数在预先包含的.js文件中定义。这是放置在页面中的html: <script>setInterval(function(){getClientMessages();}, 1000);</script> setInterval(函数(){ge

我找不到问题的答案,所以我希望有人知道答案

我正在尝试进行支持聊天,我正在尝试将其加载到“管理区域”的聊天窗口中。这一切正常,但需要收集传入消息的函数没有运行。当我在控制台中调用它时,它会工作,并显示在html中,但它不会自行运行。函数在预先包含的.js文件中定义。这是放置在页面中的html:

<script>setInterval(function(){getClientMessages();}, 1000);</script>
setInterval(函数(){getClientMessages();},1000);

我知道我可以通过重定向来解决这个问题,并通过启动将该函数放置在页面中,但想法是在同一页面中打开和关闭对话。

您不能简单地通过创建
标记并通过innerHTML插入来运行脚本。然后必须通过
eval()
执行contents脚本标记

或者,您可以定义一个外部源并更直接地插入脚本标记,就像google为分析所做的那样:

(function() {
 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

控制台在打开页面时是否报告任何错误?通过“放入页面”,您的意思是页面的XML包含
script
元素,还是在事实之后插入?在加载聊天之前,此处没有脚本标记。它确实有一个可以检查传入的聊天请求。这是旁观者需要注意的一点。严重不鼓励使用eval。它具有固有的安全风险。我想,这可能是谷歌采取不同做法的原因之一。我刚刚意识到,绕过这个问题,将检查新聊天请求的功能与收集输入消息的功能结合起来可能更容易。不需要将其加载到…@PimpTrizkit
Eval()
经常被恶意攻击,通常是为了防止XSS攻击。如果您控制所有脚本,并且在
eval()
中不使用任何用户输入,那么它通常是安全的,即使不是快速的。它保留在语言中,因为它在正确使用时是一个有用的工具。谢谢!对它有可能“安全地”使用它。。。隐马尔可夫模型。。也许我的报价需要那个报价。。。。