相关疑难解决方法(0)

我如何引用加载当前正在执行的脚本的脚本标记?

如何引用加载当前运行的javascript的脚本元素?

这是情况.我在页面中加载了一个"主"脚本,首先是在HEAD标记下.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<script type="text/javascript" src="scripts.js"></script>
Run Code Online (Sandbox Code Playgroud)

"scripts.js"中有一个脚本,它需要能够按需加载其他脚本.普通方法对我来说并不适用,因为我需要添加新脚本而不引用HEAD标记,因为HEAD元素还没有完成渲染:

document.getElementsByTagName('head')[0].appendChild(v);
Run Code Online (Sandbox Code Playgroud)

我想要做的是引用加载当前脚本的脚本元素,以便然后我可以将新的动态加载的脚本标记添加到DOM之后.

<script type="text/javascript" src="scripts.js"></script>
loaded by scripts.js--><script type="text/javascript" src="new_script1.js"></script>
loaded by scripts.js --><script type="text/javascript" src="new_script2.js"></script>
Run Code Online (Sandbox Code Playgroud)

javascript element parent

275
推荐指数
8
解决办法
13万
查看次数

我可以在JavaScript中获取当前运行的函数的名称吗?

是否有可能做到这一点:

myfile.js:
function foo() {
    alert(<my-function-name>);
    // pops-up "foo"
    // or even better: "myfile.js : foo"
}
Run Code Online (Sandbox Code Playgroud)

我的堆栈中有Dojo和jQuery框架,所以如果其中任何一个更容易,它们就可用了.

javascript jquery dojo

172
推荐指数
10
解决办法
11万
查看次数

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万
查看次数

什么是我的脚本src URL?

是否有一种简单可靠的方法来确定当前正在执行的JavaScript文件的URL(在网页内)?

我唯一想到的是扫描DOM src以查找所有脚本属性以查找当前文件的引用方式,然后通过应用它来计算绝对URL document.location.任何人都有其他想法,是否有一些我完全忽略的超级简单方法?

更新:通过DOM访问的脚本元素已经具有src包含完整URL 的属性.我不知道它是多么普遍/标准,但是你可以使用getAttribute("src")哪个将返回[X] HTML中的任何原始属性值.

javascript dom absolute-path src

33
推荐指数
4
解决办法
2万
查看次数

获取脚本路径

在CSS中,任何图像路径都相对于CSS文件位置.

f.ex如果我把CSS文件放入/media/css/mystyles.css并使用类似的东西

.background:url(../images/myimage.jpg);
Run Code Online (Sandbox Code Playgroud)

浏览器将查找/media/images/myimage.jpg有意义的图像.

是否有可能在JavaScript中做同样的事情?

F.ex如果我包含/media/js/myscript.js并将此代码放在那里:

var img = new Image();
img.src = '../images/myimage.jpg';
Run Code Online (Sandbox Code Playgroud)

找不到图像,因为浏览器使用HTML文件作为起点,而不是脚本位置.我希望能够使用脚本位置作为起点,就像CSS一样.这可能吗?

javascript css

32
推荐指数
4
解决办法
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文件可以获得自己的名字吗?

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

html javascript ajax

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

如何获取javascript文件的位置(src)?

javascript文件如何知道它位于何处?例如:

<script type="text/javascript" src="http://mysite.com/scripts/howdy.js"></script>
Run Code Online (Sandbox Code Playgroud)

如何howdy.js知道代码http://mysite.com/scripts/howdy.js

编辑:澄清.我不能依赖于在DOM中搜索我的脚本标记,因为我需要在DOM准备好之前了解它.

javascript

8
推荐指数
1
解决办法
5826
查看次数

JavaScript中当前脚本的URL

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

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

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

编辑:

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

javascript jquery

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

在JavaScript中找到自己的起源

有没有办法找到当前运行脚本的来源?我想根据脚本的加载位置添加不同的行为.

例如从下载:

http://localhost:8080/js/myscript.js 
Run Code Online (Sandbox Code Playgroud)

VS

http://www.myhost.com/js/myscript.js
Run Code Online (Sandbox Code Playgroud)

我不是那个加载的人所以我无法在加载时添加一些信息,并且脚本是使用动态加载的$.getScript(),因此我无法查找该元素.

javascript jquery

4
推荐指数
1
解决办法
2917
查看次数

标签 统计

javascript ×11

jquery ×4

html ×2

absolute-path ×1

ajax ×1

css ×1

dojo ×1

dom ×1

element ×1

parent ×1

path ×1

src ×1