使用更换时,旋转器停止工作

时间:2011-12-14 18:22:54

标签: javascript

我的网站存在问题。我试图用不同的电话号码替换所有出现的电话号码。

如果您转到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>

任何人都可以分享一下这个吗?

1 个答案:

答案 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中,它们指向不可见的“旧”元素。