【发布时间】:2017-04-04 21:46:33
【问题描述】:
我一直通过使用 Chrome DevTools 编辑网站的 JS 文件来检查是否有服务器验证(或只有客户端验证)。
这次我在点击 IDE 中的某个按钮并保存更改后添加了一个警报。当我单击某个按钮时,警报成功显示。然后我在该站点上打开 DevTools,找到源代码,找到一个名为 all_views.min.js 的文件(这是 Grunt 从所有 JS 视图文件生成的文件)。 Ctrl+f+"alert" 显示了我刚刚添加的警报。但是当我在那之后添加另一个警报并使用 ctrl+s 保存 JS 文件时,单击提到的按钮后我仍然只收到 1 个警报。
这可能是什么原因? 是的,JS 文件已生成,但我必须在更改视图脚本后手动(在本地,而不是在浏览器中)生成它。所以浏览器不应该关心。
我不能给你整个脚本,但这是我要更改的函数:
changeMap: function(a) {
var b = this;
$(this.el).find(".mapy-single-map").html("");
var c = $(a.currentTarget).siblings(".btn-dark-blue")
, d = $(a.currentTarget)
, e = $(d).attr("map");
alert(e), // alert added in the code
alert("fdfgfdfd"), // alert added in DevTools
this.collection.getDisplaysForMap(e).then(function() {
b.renderPlayers(),
$(d).removeClass("mapy-white-btn"),
$(d).addClass("btn-dark-blue"),
$(c).removeClass("btn-dark-blue"),
$(c).addClass("mapy-white-btn"),
$(b.el).find(".mapy-single-map").css("background-image", 'url("./graphics/mapy_ciemne/ciemne' + e + '.jpg")')
})
},
不,我没有编辑 all_views.min.js 的美化版本。
【问题讨论】:
-
你为什么用逗号结束你的
alert语句?这不是无效的语法吗? -
@KayceBasques 我也尝试使用分号,但那是 Grunt 生成的。在我的 JS 视图中,我使用分号而不是逗号。所以我猜如果这是一个坏主意,Grunt 不会转换他们。此外,当我没有添加另一个警报而是将
alert(e)更改为alert("|"+e)时,我得到了相同的结果 - 页面上没有任何变化。 -
可能是缓存问题。尝试清除浏览器缓存并重新加载页面。开发工具中有一个选项可以在开发工具打开时禁用缓存。当开发工具打开时,您还可以长按浏览器中的刷新按钮,您会看到一个下拉菜单,其中包含专门为该选项卡清除缓存并重新加载的选项。
-
您收到了哪个提醒?
-
@Gambit 我在 Chrome 中从头清除了所有缓存,转到页面,将
alert(e)更改为alert(e+"|")。没啥事儿。长按referh按钮,选择“Empty cache and hard reload”,在DevTools中更改JS,保存JS,点击一个按钮。警报没有改变。进入 DevTools 的设置,设置“禁用 DevTools 上的缓存”,刷新页面,在 JS 中更改并保存警报,单击一个按钮。警报没有改变。