我在开发一个网站时遇到了问题。我正在使用chrome来调试javascript函数。在我的一个页面上,我看到了以下内容:
您可以看到我自己的javascript文件search.js得到执行。这个文件有一个副本,名为VM1769。这个文件也执行相同的代码,因此搜索请求被发送了两次。
我四处搜索,看到有人通过禁用缓存(当DevTools打开时)解决了这个问题,但这对我不起作用。我尝试了另一个版本的Chrome,问题仍然存在。
有人有解决办法吗?
我在开发一个网站时遇到了问题。我正在使用chrome来调试javascript函数。在我的一个页面上,我看到了以下内容:
您可以看到我自己的javascript文件search.js得到执行。这个文件有一个副本,名为VM1769。这个文件也执行相同的代码,因此搜索请求被发送了两次。
我四处搜索,看到有人通过禁用缓存(当DevTools打开时)解决了这个问题,但这对我不起作用。我尝试了另一个版本的Chrome,问题仍然存在。
有人有解决办法吗?
4条答案
按热度按时间e1xvtsh31#
我遇到了同样的问题,发现我真的包含了两次相同的JavaScript文件。所以Chrome将第二次执行显示为VM脚本对我来说是不合理的,但当我删除重复的include时,它就结束了。
svdrlsy42#
你好,我也得到了这个,这是导致有两个重复的选择在我的自动完成文本输入。我所做的只是创建一个全局标志,以了解脚本文件是否已经执行或没有。我知道这不是解决方案,但我只是想在这里分享,因为阻止执行的VM文件已经解决了我的问题,但我需要知道如何肯定地解决这个问题。
zmeyuzjn3#
我遇到了这个问题。
对我来说,这是由于webpack注入了我的javascript文件的第二个示例进行调试。
删除最后一行(
mode: "development"
)消除了重复的脚本。t1qtbnec4#
我遇到了同样的问题。在我服务器上的模板中,我把我的脚本标记放在了主内容容器的内部。
这意味着渲染后我的脚本不在
<body>
标签的底部,而是在div.container
内部,并且由于某种原因,渲染后我有两个重复的脚本,而不是一个。一个在div.container
中,另一个在<body>
标签的底部。所以当我把脚本移出
div.content
容器后,我的脚本开始像我预期的那样运行,没有重复,没有双重获取请求。虽然我的答案只是django模板中的一个片段,但这种方法在其他情况下也应该可以使用。你一定要把你的脚本放在一个合适的地方(头部或身体),而不是任何div里面。