【问题标题】:Determining relative location of a jQuery plugin确定 jQuery 插件的相对位置
【发布时间】:2011-07-05 18:37:10
【问题描述】:

我正在开发一个 jQuery 插件,它由一个主 js 文件组成,该文件将加载其他几个 js 文件。我希望能够将所有文件放入“myPlugin”文件夹中,并让主 js 文件找到其他脚本,无论导入主文件的页面位于何处。

location.pathname 会告诉我加载插件的页面的路径,但是我如何告诉插件加载相对于它自己的位置的东西呢?

在下面的示例中,我希望myPlugin.js 找到required1.js,无论它是从pageA 还是pageB 加载的:

pageA.html
/../pageB.html

myPlugin/
  -myPlugin.js (How does `myPlugin.js` find `required1.js`?)
  -required1.js
  -required2.js

谢谢...

【问题讨论】:

  • 如果您使用绝对路径而不是相对路径,那就简单多了。
  • @Henrik- 无法提前知道插件安装的绝对位置。
  • 好问题。您还应该研究像 RequireJS 这样为您完成所有艰苦工作的脚本加载器。

标签: javascript jquery jquery-plugins


【解决方案1】:

我唯一能想到的就是尝试在包含页面的 DOM 中找到对 myPlugin.js 的引用:

$('script[src$="myPlugin.js"]').attr("src").replace(/myPlugin\.js$/, 'required1.js')

不过,这很老套,而且容易出错。只有在绝对需要零配置解决方案时,我才会使用它。否则,我只会让用户配置插件,以便它知道在哪里可以找到其他文件。

【讨论】:

猜你喜欢
  • 2012-07-15
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多