相关疑难解决方法(0)

我如何从该脚本中获取脚本文件名?

我很确定答案是否定的,但我想我还是会问.

如果我的站点引用了一个名为"whatever.js"的脚本,是否可以从该脚本中获取"whatever.js"?喜欢:

var scriptName = ???

if (typeof jQuery !== "function") {
    throw new Error(
        "jQuery's script needs to be loaded before " + 
        scriptName + ". Check the <script> tag order.");
}
Run Code Online (Sandbox Code Playgroud)

可能比依赖检查更值得麻烦,但是到底是怎么回事.

html javascript

39
推荐指数
5
解决办法
4万
查看次数

Javascript文件中的代码可以知道自己的域/ URL

如果我有一个站点,example.com和该站点上的页面引用了subdomain.example.com/serveAd.js上的Javascript - 是否有一种方法可以在serveAd.js中知道自己的URL,或者来自哪个下载了?

(JS当然可以知道调用它的页面.我想知道JS是否了解它自己的来源.)

javascript

19
推荐指数
2
解决办法
4987
查看次数

javascript获取当前的文件脚本路径

如何使用jQuery在javascript中获取当前脚本的路径

例如,我有,site.com/js/script.js并在此脚本中有一个代码:

$(document).ready(function() {
   alert(  ... this code ... );
}
Run Code Online (Sandbox Code Playgroud)

它应该返回带有"/js/script.js"消息的警告框.这个函数应该像__FILE__php中的魔术常量一样工作

那么,为什么我需要这个呢?

我想动态设置背景图片:

$("somediv").css("background-image", "url(" + $SCRIPT_PATH + "/images/img.png)");
Run Code Online (Sandbox Code Playgroud)

和images目录是文件/js附近的script.js目录

js文件夹的名称可以动态设置,因此脚本和图像可以在/myprogect/javascript-files目录中

html javascript jquery path

14
推荐指数
3
解决办法
3万
查看次数

在Javascript中获取相对CSS URL路径

注意:我终于在以下位置找到了一个完全重复的问题和答案:获取脚本路径

我有一个背景图像定义了相对于我的CSS文件的路径.

.my-image-class {
  background-image: url("../images/my_bg_image.png");
}
Run Code Online (Sandbox Code Playgroud)

我想在JavaScript中更改此路径,以便它现在指向../images/my_updated_bg_image.png.但是,简单地更改JavaScript中的样式声明会更改从CSS位置到HTML位置的相对路径的含义.

有没有办法从相对CSS URL中提取绝对URL?

如果没有,有没有办法提取当前运行的JavaScript函数的源的绝对URL?这会给我相同的信息,因为我的JS文件也与图像文件有关.

其他方案?

这是一个类似于javascript的问题- 如何使用相对于url路径的图像文件?但是类交换技巧表明这对我不起作用,因为我实际上有一个这些背景图像的变量列表.

编辑:背景信息.Web应用程序(基于Django)完全独立于静态js,image和css文件提供HTML内容.静态内容在

static/
  js/
  css/
  images/
Run Code Online (Sandbox Code Playgroud)

文件结构.所以我知道这些文件之间的相对关系.但是,HTML内容和静态内容的绝对URL可能会发生变化.所以我不希望将HTML内容的硬编码URL混合到我的js文件中,如果我可以避免它.我从第三方获得了Django模板,所以我也想避免编辑它.

javascript css

5
推荐指数
1
解决办法
4746
查看次数

获取当前正在执行的JavaScript代码的文件路径,以获取动态加载的跨域JavaScript文件

我需要
在我的网站http://jsbookmarklets.com/中为bookmarklet动态加载跨域JavaScript 文件


解决方案应满足:

  • 获取当前文件的路径
  • 当前网页的域和执行中的JS文件是不同的
  • 解决方案应该是跨浏览器
  • 可能会异步加载多个脚本(这就是下面提到的相关问题不合适的原因)


我想获取当前正在执行的JavaScript代码的文件路径,以便动态加载更多资源(更多CSS文件和JS文件,如自定义代码和jQuery,jQuery UI和Ext JS库),这些文件存储在与JavaScript相同/相对的文件夹中小书签.


以下方法不适合我的问题:

var scripts = document.getElementsByTagName("script");
var src = scripts[scripts.length-1].src;
alert("THIS IS: "+src);
Run Code Online (Sandbox Code Playgroud)


相关问题不符合我的问题:

javascript jquery bookmarklet cross-domain

5
推荐指数
1
解决办法
4121
查看次数

JavaScript中PHP的dirname(__ FILE__)的等价物?

正如我在标题中已经提到的,我正在寻找一个JS函数来获得与我使用这个PHP代码相同的结果:

dirname(dirname(__FILE__))
Run Code Online (Sandbox Code Playgroud)

提前致谢!

javascript php dirname

3
推荐指数
1
解决办法
4998
查看次数

标签 统计

javascript ×6

html ×2

jquery ×2

bookmarklet ×1

cross-domain ×1

css ×1

dirname ×1

path ×1

php ×1