我对我们的网站有一个问题。我正在尝试用不同的电话号码替换所有出现的电话号码。
如果您转到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>任何人都可以分享一些关于这方面的信息吗?
发布于 2011-12-15 02:28:04
首先,我发现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中的所有引用都指向不可见的“旧”元素。
https://stackoverflow.com/questions/8509678
复制相似问题