所以最终我想要一个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(/ /g, \' \');"><b>SP</b></a></div></div></div>';
去掉格式后我们就剩下了。
<a href="javascript:document.getElementById('postingHtmlBox').value = document.getElementById('postingHtmlBox').value.replace(/ /g, ' ');"><b>SP</b></a>
有趣的是,从 firebug 运行的相同代码(减去 href、javascript: stuff)可以完美运行。
但是当它像这样插入并运行时,它会清空整个网页并写入 document.getElementById('postingHtmlBox').value.replace(/ /g, ' ')
进入这个黑色页面。
我是不是忘记了什么愚蠢的事情?这应该发生吗?我有一些愚蠢的语法错误吗?您建议采取什么解决方案?
最佳答案
不要将 JS 代码放入 href
中。使用onclick
:
<a href="javascript//" onclick="document.getElementById('postingHtmlBox').value = document.getElementById('postingHtmlBox').value.replace(/ /g, ' ');"><b>SP</b></a>
关于javascript - 插入的代码产生意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895455/