相关疑难解决方法(0)

JavaScript - 如何获取调用脚本的URL?

我在文件中包含myscript.js,http://site1.com/index.html如下所示:

<script src=http://site2.com/myscript.js></script>
Run Code Online (Sandbox Code Playgroud)

在"myscript.js"中,我希望能够访问URL" http://site2.com/myscript.js ".我想要这样的东西:

function getScriptURL() {
    // something here
    return s
}

alert(getScriptURL());
Run Code Online (Sandbox Code Playgroud)

如果从上面提到的index.html调用,它会提醒" http://site2.com/myscript.js ".

javascript

72
推荐指数
7
解决办法
6万
查看次数

如何获取当前正在执行的javascript代码的文件路径

我正在尝试做一些类似C #include "filename.c"或PHP的东西,include(dirname(__FILE__)."filename.php")但是在javascript中.我知道我可以这样做,如果我可以从URL加载一个js文件(例如标签的src属性中给出的URL).有什么方法可以让javascript知道吗?

或者,是否有任何好方法从同一个域动态加载JavaScript(不知道具体的域)?例如,假设我们有两个相同的服务器(QA和生产),但它们显然具有不同的URL域.有没有办法做一些像include("myLib.js");myLib.js将从加载它的文件的域加载?

对不起,如果那有点令人困惑.

javascript include absolute-path src

57
推荐指数
6
解决办法
9万
查看次数

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

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

如果我的站点引用了一个名为"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获取当前的文件脚本路径

如何使用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万
查看次数

如何在同一个JS文件中获取JS文件的URL?

可能重复:
我的脚本src URL是什么?

我有情况:

<script 
  type="text/javascript" 
  src="http://server/some.js">
</script>
Run Code Online (Sandbox Code Playgroud)

在文件some.js我需要知道相同文件some.js,eq的完整路径." http://server/some.js ".我怎样才能做到这一点?

我无法更改HTML代码(客户端包括JS文件).

javascript

9
推荐指数
2
解决办法
6695
查看次数

javascript文件可以获得自己的名字吗?

我试图在javascript中构建某种记录器功能.是否有任何API可供脚本获取自己的文件名?

html javascript ajax

9
推荐指数
3
解决办法
9296
查看次数

它是当前运行脚本的最后一个`script`元素吗?

假设script脚本运行时文档中的最后一个元素*是当前运行的脚本是否安全?

例如,我想创建一个脚本,可以将其放在页面正文的任何​​位置,并在同一个地方显示一个元素.我正在做这样的事情:

function getCurrentScriptElement() {
    var scripts = document.getElementsByTagName('script');
    return scripts[scripts.length - 1];
}

var script = getCurrentScriptElement();
var view = document.createElement('span');

/* Put stuff in our view... */

script.parentNode.insertBefore(view, script);
Run Code Online (Sandbox Code Playgroud)

假设脚本在文档正文中,这是"安全吗?" 该getCurrentScriptElement函数是否总是返回正在运行的脚本?如果没有,怎么办呢?

我想这样做而不将脚本绑定到特定的id属性或类似属性,我希望它只是位置.


我在这里创建了一个示例来拉入此脚本.一个答案表明,其他脚本可能会创建一个像这样的例子会破坏的情况.是否可以在此示例中添加其他脚本来破坏它?


有人建议其他带有defer或async属性的脚本可能会破坏这一点.任何人都可以举例说明这样的脚本是如何工作的吗?

据我了解,defer意味着首先加载DOM,然后使用defer标记运行脚本.defer出现在另一个脚本元素上的属性如何影响getCurrentScriptElement?的行为?

async,据我所知,意味着开始获取该脚本并同时保持解析DOM,不要等待......但是当它到达我的脚本时它应该仍然停止并等待,对吧?

我不知道任何一个人如何影响它,任何人都能提供一个例子吗?


*出于此问题的目的,我只对外部脚本感兴趣.

**不是script整个文档中的最后一个script元素,而是运行时文档中的最后一个元素.该文档的其余部分尚未加载,对吧?

html javascript dom

7
推荐指数
1
解决办法
366
查看次数

JavaScript中当前脚本的URL

如何找到被调用的JS文件的URL?

假设JS文件(它是库的一部分)和HTML文件(它是应用程序)位于不同的服务器上.要查找HTML文件的URL很简单.但是如何在JS文件本身中找出JS文件服务器的服务器名称和路径?(编辑:有一个加载器在同一目录结构中调用thsi库的其他JS文件)

最好是JQuery或纯JS解决方案.

编辑:

在我从你的答案和评论中学到了什么后,我决定将加载程序代码实际移动到第一台服务器上更加清晰,html仍然存在,这避免了问题.

javascript jquery

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

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

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

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

提前致谢!

javascript php dirname

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

标签 统计

javascript ×9

html ×4

jquery ×2

absolute-path ×1

ajax ×1

dirname ×1

dom ×1

include ×1

path ×1

php ×1

src ×1