【发布时间】:2014-06-11 10:30:25
【问题描述】:
我有一个 Javascript 代码可以将我的 HTML 页面的一些部分翻译成其他语言。您可以在我在这里提出的另一个问题中阅读有关它的更多详细信息:Multilanguage static website with JQuery
我网站的每个 HTML 页面都有相同的 Javascript 代码。在主页 (www.mywebsite.com) 中有效,但在任何其他较长的路径 (www.mywebsite.com/anotherpage) 中无效。这里奇怪的是页面的源代码中完全没有代码(右键-->查看源代码)
这是部分代码(整个页面很大,我不能全部粘贴)
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Le styles -->
<link href="./static/css/bootstrap.min.css" rel="stylesheet">
<link href="./static/css/slider.css" rel="stylesheet">
<link rel="stylesheet" href="./static/css/font-awesome.css" />
<link rel="stylesheet" href="./static/css/jquery-ui.css" />
</head>
<body>
....
</body>
<script src="./static/js/jquery.js"></script>
<script src="./static/js/bootstrap.min.js"></script>
<script src="./static/js/bootstrap-slider.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<script src="./static/js/jquery.dataTables.min.js"></script>
! a few other script codes that works without a problem in this part !
! this is the one that is missing from the code
<script type="text/javascript">
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
$(function() {
var language = getCookie("language");
if (language == null) {
var language = 'English'
}
alert(language)
$.ajax({
url: './static/languages/languages.xml',
success: function(xml) {
$(xml).find('translation').each(function(){
var id = $(this).attr('id');
var text = $(this).find(language).text();
$("." + id).html(text);
});
}
});
});
</script>
我尝试将脚本代码放在页面顶部,但我遇到了同样的问题。我试图将完整的 url 放在 xml 文件中,但没有成功。我在控制台上没有任何错误,脚本也没有在页面源代码上运行。
已解决:
如果我从外部文件加载脚本代码,那么它可以工作。外部文件的代码完全相同,因此不是印刷错误。
【问题讨论】:
-
www.mywebsite.com/somepath不是子域! -
我使用了错误的术语。我的意思是比主页更长的路径。我会编辑它。我不是说
sub.mywebsite.com -
检查控制台的网络选项卡。我很确定有一个对
www.mywebsite.com/anotherpage/static/languages/languages.xml的请求失败了。 -
而不是使用 src="./static/... 在此处使用 www.mywebsite.com/.. 相对路径.../static/...
-
@Bergi 我也检查过那里,但只有图像和其他脚本。没有关于 xml 文件的内容
标签: javascript jquery html