Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 根据环境在Javascript中设置新的资源绝对路径_Php_Javascript_Jquery_Css_Cdn - Fatal编程技术网

Php 根据环境在Javascript中设置新的资源绝对路径

Php 根据环境在Javascript中设置新的资源绝对路径,php,javascript,jquery,css,cdn,Php,Javascript,Jquery,Css,Cdn,我有一个外部javascript文件,它使用getScript()函数运行另一个JS文件 这些都在static.mydomain.com上。(我不熟悉设置CDN) getScript()似乎不允许跨域请求,因为我的HTML位于domain.com上。但后来我根据这篇文章尝试使用相对路径: 它适用于CSS,但不适用于JS(特别是在getScript()函数中)。这是怎么回事?在处理CDN时,有哪些方法可以缓解此问题?getScript方法实际上会进行ajax调用,因此它不起作用。除非您需要访问诸如

我有一个外部javascript文件,它使用getScript()函数运行另一个JS文件

这些都在static.mydomain.com上。(我不熟悉设置CDN)

getScript()似乎不允许跨域请求,因为我的HTML位于domain.com上。但后来我根据这篇文章尝试使用相对路径:


它适用于CSS,但不适用于JS(特别是在getScript()函数中)。这是怎么回事?在处理CDN时,有哪些方法可以缓解此问题?

getScript方法实际上会进行ajax调用,因此它不起作用。除非您需要访问诸如“脚本是否成功找到”之类的内容,否则最好编写一个快速方法,如

function addScript(source, domain) {
    $("head").append("<script src='"+ (domain ? domain + source : source) +"'></script>");
}
函数addScript(源,域){
$(“标题”)。附加(“”);
}

这只需将脚本添加到页面的头部,并允许您添加一个可选的域,以便在需要更改时指向该域。

跨域js源不应该有任何问题。你的代码看起来像什么?如果在HTML中包含一个脚本标记而不是调用.getScript(),是否有效?我正在使用getScript()来解决跨域问题。在将DOM片段加载到页面中后,实际上会在ajax()成功选项中调用getScript()。部分DOM由getScript()加载的脚本操作。啊,看起来我需要更多的信息。不幸的是,我唯一的建议是将该数据存储在一个全局变量中,然后将该js文件中的任何内容包装到一个函数中,该函数立即使用该全局变量,并在vai中调用它,即“addScript”。它既不灵活也不美观。。但这是我力所能及的。祝你好运谢谢,斯蒂芬。最后使用了全局变量。你可以把它作为你的答案,我可以选择它!