我正在尝试做一些类似C #include "filename.c"或PHP的东西,include(dirname(__FILE__)."filename.php")但是在javascript中.我知道我可以这样做,如果我可以从URL加载一个js文件(例如标签的src属性中给出的URL).有什么方法可以让javascript知道吗?
或者,是否有任何好方法从同一个域动态加载JavaScript(不知道具体的域)?例如,假设我们有两个相同的服务器(QA和生产),但它们显然具有不同的URL域.有没有办法做一些像include("myLib.js");myLib.js将从加载它的文件的域加载?
对不起,如果那有点令人困惑.
我需要
在我的网站http://jsbookmarklets.com/中为bookmarklet动态加载跨域JavaScript
文件
解决方案应满足:
我想获取当前正在执行的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)
相关问题不符合我的问题:
我正在编写一个应该跨域工作的脚本。我尝试包含来自另一个域的一个脚本,然后让该脚本包含来自同一域的其他脚本
示例:域 1 - www.mydomain.com
<html>
<head>
<script type="text/javascript" src="http://www.example.com/app.js"></script>
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
示例应用程序 JS
var imported = document.createElement('script');
imported.src = window.location.host + 'config.js';
document.head.appendChild(imported);
var imported = document.createElement('script');
imported.src = window.location.host + 'stuff.js';
document.head.appendChild(imported);
Run Code Online (Sandbox Code Playgroud)
问题是 window.location.host 给出了脚本下载到的域: www.mydomain.com 。我想要脚本当前所在的域,在此示例中是 www.example.com ?
这可以做到吗?请不要使用 JQuery。