我经常在我的代码中看到我从我公司的媒体中心加载jQuery在控制台中通常无法使用。 (否$
和jQuery
)
但有时候,对于附加了jQuery的那些元素,它有很长的数字。
jQuery18306575689211022109_1378907534666
这样做的目的是什么?安全
此外,jQuery有时可直接在控制台中使用,但仅限于上述数字。 因此,我无法在控制台中调试我的应用程序,我需要使用jQuery进行查询。
但是,在JavaScript代码中,jQuery完全被用作$
和jQuery
。所以我应用了一个断点并导出为window.jQuery = jQuery
。
当jQuery
被混淆时,这是调试应用的正确方法吗?
更新:
例如,请检查此应用正在呼叫的URL。看来URL知道jQuery附加的数字是多少。调试时如何知道相同的数字?发生了什么事情?
答案 0 :(得分:4)
这是jQuery自动生成的回调ID。请参阅jsonpCallback
的{{3}}。
最好让jQuery生成一个唯一的名称,因为它可以更容易地管理请求并提供回调和错误处理。
答案 1 :(得分:0)
您似乎混淆了两个不同的变量。您可以在此网站上进行快速测试:http://www.jquery4u.com/function-demos/jsonp/#demo。点击“运行演示”,打开Chrome控制台,输入“jQuery”以检索回调的名称,然后执行这个简单的比较:
jQuery16409391013463027775_1379048051365 === jQuery // false
也就是说,在您的情况下,名为“$”和“jQuery”的变量不可用的事实可能是由于特定的实现。一种可能是使用jQuery.noConflict()
,它允许自定义用作jQuery引用的名称,或者从全局范围(window
)中完全删除对jQuery的所有引用,所以没有在控制台中访问它的方法。