追加脚本SRC导致跨源请求错误
Appending Script SRC Causes Cross Origin Requests Error
本质上,我有一个需要动态加载内容的网站,特别是区域设置。我的网站需要多语言支持,所以一般的想法是我有一个查询参数,比如?language=english和english会被附加到标题中,这样它就可以获取在我的网页中使用的正确数据。就像:
//script 1
//getLanguage() gets the specified query parameter, like 'english'
$('head').append('<script src=' + getLanguage() + '.js'></script>');
然后在整个脚本1中,我想:
$('#mainHeader').append(window.i18n['home'].mainHead());
这是英文版的脚本,其中定义了变量:
//english.js
(function(A) {
A.i18n = {
home: {
mainHead: function(b) { return 'test123'; },
}
}
})(this);
这在本地Web服务器上运行时有效。将其作为文件运行(这是我需要做的)我得到了这个:
"无法加载XMLHttpRequestfile://...english.js?_=1449747918242.跨源请求仅支持以下协议方案:http、data、chrome、chrome扩展、https、chrome资源扩展。"AND"未捕获类型错误:无法读取未定义的属性"home"
我尝试使用纯javascript,这给出了"Uncaught TypeError:无法读取未定义的属性'home'":
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= getLanguage() + '.js';
head.appendChild(script);
对如何进行有什么建议吗?一天来,我一直在尝试各种潜在的解决方案,但似乎都不起作用。
与相关的问题
$('head').append('<script src=' + getLanguage() + '.js></script>');
修复者:
document.write('<' + 'script src=' + getLanguage() + '.js' + ' type="text/javascript"><' + '/script>');
jQuery似乎存在对同一域上的文件发出非http请求的问题。
相关文章:
- 尝试发布大型JSON数据时出现错误请求错误
- 仅在 IE 中使用 jQuery 发布数据时出现错误请求错误
- JavaScript JSONP请求错误--未捕获的语法错误:意外的令牌:
- 正在生成$http.get请求..错误
- CORS预检请求错误无法通过安装npm cors软件包解决
- JSON PUT 请求错误
- 400 错误请求错误在 Ajax POST 到 spring RestController
- 使用 cURL 请求 svg.sencha.io 时请求错误
- WCF Web 服务在通过 Javascript 调用时返回“错误请求”错误
- JSFiddle “请使用后请求”错误
- 使用 JS 更改映像路径的请求错误
- AngularJS对跨源资源执行OPTIONS HTTP请求=>错误401
- 条纹::无效请求错误(此客户没有附加的付款来源)
- JSON 请求错误 500
- Ajax 请求错误 404
- 在 Node.js 服务器内发出异步请求错误:“类型错误:对象 #<对象> 没有方法'_implicitHeader'”
- 为什么这个 $.getJSON 请求错误
- 角度/业力 - 预期请求和观察到的请求相同时的“意外请求”错误
- 从 Mapbox.js 使用“LoadURL()”时出现“跨源请求错误”
- Chrome 应用/扩展程序 - 后台请求错误,或允许应用问题加载 Google 文档 API