我有条款在某种条件下执行脚本;
//if artist page clicked run profile script
if (id == 'artist_link') {
$.getScript("AJAX/get_profile.js");
}
我遇到的问题是脚本通常无法完全执行。有时,只有部分内容才会执行,所以不执行任何操作。我真的无法提供比这更多的细节。奇怪的是,当萤火虫打开时它总是完全执行,我找不到任何问题。我测试过的浏览器都有chrome和firefox
带有get_profile.js
文件的
答案 0 :(得分:1)
我可能错了,但据我所知,$(location)
不是有效的jQuery。仅使用$(location).attr('pathname')
替换window.location.pathname
可能会消除可能的错误。
其他一些一般性的东西,不应该真正影响它是否有效,但值得一提的是提高整体的好感:
data
是一个对象,而不是一个数组。要访问展示图片的DP
元素,您应使用data.DP
而不是data['DP']
(name
相同,以及其他几个元素.click()
,而是使用.on()
绑定事件$.each (data, function(key, val){
)并在循环内部修改DOM($.append()
) - 你最好在循环中构建一串HTML ,然后在循环后将其添加到单个附加中,因为DOM插入对于性能来说很慢$('#origin')
),这会导致jQuery每次都必须查看该元素。缓存它然后调用方法:
$origin = $('#origin');
$('#origin').html('a').append('b').append('c');
答案 1 :(得分:0)
我几乎100%肯定你的get_profile.js文件中有一个错误。如果它正在执行,那么加载文件没有任何问题。问题存在于你的js文件中,如果没有看到它的代码,我们就无法真正调试它。
答案 2 :(得分:0)
修正了它!我不知道为什么我没有看到这个,但是在页面被打开之前,脚本正在被调整,导致脚本无法正常运行。无论如何,有点整理,我已经修好了。谢谢你的帮助!