【问题标题】:Loading external javascript in a bookmarklet via a script loader通过脚本加载器在书签中加载外部 javascript
【发布时间】:2013-06-11 15:50:00
【问题描述】:

这是我目前的设置:

  1. 我的 Sharepoint 上有一个脚本。
  2. 每个用户都将其添加到书签中以使用它。
  3. 如果我进行更新,他们必须重新设置书签。

我想做什么:

  1. 用户将脚本加载器添加到书签工具栏
  2. 他们点击它,它会从我们的 Sharepoint 加载脚本。

这样,如果我需要进行任何更改,他们无需执行任何操作,更改会自动反映。

我的书签/脚本依赖于 jQuery 来制作 ajax 任务,只是为了一般的易用性。

我目前正在使用这个:http://benalman.com/projects/run-jquery-code-bookmarklet/

有没有我可以用来做这种事情的框架?我知道 Visual Event 使用加载器,但由于它是用 Closure 压缩的,所以我真的不知道它在做什么。我知道,由于事情是在 Javascript 中异步加载的,所以我必须将所有代码包装在正在加载的 jquery 中,这很好..我只需要一种方法来做到这一点。

【问题讨论】:

    标签: javascript jquery bookmarklet inject


    【解决方案1】:

    您需要做的就是将您的书签代码移动到外部 js 文件,然后使用书签注入该文件。这样,小书签就会注入最新的逻辑,而您不必再次重新添加书签。 在该外部脚本中,您可以将 jQuery.js 文件的内容粘贴到您的 JS 代码上方,以确保它按预期运行。

    修改 url 以指向您的脚本:

    javascript:(function (){document.getElementsByTagName('head')[0].appendChild(document.createElement('script')).src='http://domain.com/scripts/external.js?'+Math.random();}());
    

    如果您的 Intranet 具有良好的缓存设置,您可以删除“+Math.random()”部分,但在 Intranet 上,按需加载单 url 资产的性能很少有问题,随机 url 确保每个人都会得到最新的副本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-12
      • 2010-09-11
      • 1970-01-01
      • 2014-09-15
      • 2010-12-20
      • 2015-03-28
      • 1970-01-01
      相关资源
      最近更新 更多