插入的代码产生意外结果

时间:2011-10-25 20:28:32

标签: javascript html blogger

所以最终我想要一个greasemonkey脚本但是现在我只使用firebug来测试我的html / javascript。

我有这个代码在博客的HTML工具栏中插入一个按钮。 该按钮应该将所有 替换为“”,因为博客似乎只是将 随机添加到我的博客帖子中,并且可能导致发布的文章看起来很奇怪(一堆词在两者之间分开 不希望在中间打破,而不是用“”分隔的相同单词。

 document.getElementById("postingHtmlToolbar").firstChild.innerHTML += '<div id="SP" class="goog-inline-block goog-toolbar-button" title="SP" role="button" style="-moz-user-select: none;"><div class="goog-inline-block goog-toolbar-button-outer-box"><div class="goog-inline-block goog-toolbar-button-inner-box"><a href="javascript:document.getElementById(\'postingHtmlBox\').value = document.getElementById(\'postingHtmlBox\').value.replace(/&nbsp;/g, \' \');"><b>SP</b></a></div></div></div>';

哪些修剪格式只是让我们离开。

  <a href="javascript:document.getElementById('postingHtmlBox').value = document.getElementById('postingHtmlBox').value.replace(/&nbsp;/g, ' ');"><b>SP</b></a>

有趣的是,从firebug运行的相同代码(减去href,javascript:stuff)非常有效。

但是当它像这样插入并运行时会使整个网页空白并将document.getElementById('postingHtmlBox').value.replace(/&nbsp;/g, ' ')的值写入此黑页。

我忘记了一些愚蠢的事吗?这应该发生吗?我有一些愚蠢的语法错误吗?你会建议什么作为解决方案?

2 个答案:

答案 0 :(得分:1)

尝试将void(0);添加到href的末尾。

基本上,最后一个语句的输出(如果有的话)正在替换文档(我遇到了同样的问题),所以将最后一个语句改为一个没有输出将避免这个问题

答案 1 :(得分:1)

不要将JS代码放在href中。使用onclick

<a href="javascript//" onclick="document.getElementById('postingHtmlBox').value = document.getElementById('postingHtmlBox').value.replace(/&nbsp;/g, ' ');"><b>SP</b></a>