我的网站存在问题。我试图用不同的电话号码替换所有出现的电话号码。
如果您转到www.paintballgames.co.uk,您会看到常规页面
如果您转到www.paintballgames.co.uk/?test=phtest,您会看到一个号码已更改
然而,旋转器在第二种情况下不起作用。
我试图比较源代码,但唯一不同的是,在第二种情况下,我有一些代码正在更改显示的代码。
我使用的代码是:
<script type="text/javascript">
var str = document.getElementById('forChange').innerHTML;
str = str.replace("844 477 5050", "844 477 5178");
document.getElementById('forChange').innerHTML = str;
</script>
任何人都可以分享一下这个吗?
答案 0 :(得分:2)
首先,我甚至在常规网站上看到了javascript异常:
$("#container-inline").html("<input type="image" name="op" value="GO" id="search-form-submit" class="form-image" />");
这不起作用,因为您应该转义引号或使用单引号:
$("#container-inline").html("<input type=\"image\" name=\"op\" value=\"GO\" id=\"search-form-submit\" class=\"form-image\" />");
或
$("#container-inline").html("<input type='image' name='op' value='GO' id='search-form-submit' class='form-image' />");
<强>更新强>
还有一个例外是“click_heatmap.js”:
Drupal.behaviors.click_heatmap = function()) {
// the "function()) {" is invalid. It should be "function() {"
click_heatmap.js:6 Uncaught SyntaxError: Unexpected token )
if (window.location.href != parent.location.href) {
$('#admin-menu').remove();
}
}
更新2: 有可能,在修复错误后,您将看到问题的根源。
更新3: 为什么要更改Javascript中的电话号码而不是服务器端?
更新4:
现在我有了更多有趣的东西! 'forChange'元素几乎就是整个网站包装器!你永远不应该写这样的代码!
而不是你应该这样做:
$(document).ready(function() {
$("SPAN.phone-now").text("your text");
});
更新5:
现在我可以解释,为什么Javascript停止工作。当您编写类似body.innerHtml = body.innerHtml.replace(...)
之类的所有Javascript时,这些内容会丢失,而新的Javascript则不会被执行。所以,没有任何作用!所有引用都保存在Javascript中,它们指向不可见的“旧”元素。