这是我目前的设置:
我想做什么:
这样,如果我需要进行任何更改,他们不需要做任何事情,并且会自动反映更改。
我的bookmarklets /脚本依赖于jQuery来制作ajax任务,而且只是为了一般的易用性。
我目前正在使用此:http://benalman.com/projects/run-jquery-code-bookmarklet/
我可以使用这种框架吗?我知道Visual Event使用了一个加载器,但由于它是用Closure压缩的,所以我无法确切地知道它在做什么。我明白,因为事情是在Javascript中异步加载的,所以我必须将我的所有代码都包装在jquery中,这很好..我只是需要一种方法来实现它。
答案 0 :(得分:6)
您需要做的就是将bookmarklet代码移动到外部js文件,然后使用bookmarklet注入该文件。这样,书签就会注入最新的逻辑,您不必再次重新加入书签。 在该外部脚本中,您可以将jQuery.js文件的内容粘贴到JS代码上方,以确保它按预期运行。
修改网址以指向您的脚本:
javascript:(function (){document.getElementsByTagName('head')[0].appendChild(document.createElement('script')).src='http://domain.com/scripts/external.js?'+Math.random();}());
如果您的Intranet具有良好的缓存设置,您可以删除“+ Math.random()”部分,但在Intranet上,性能很少是按需单URL资源加载的问题,随机网址确保每个人都会得到最新的副本。