javascript - 插入的代码产生意外结果

标签 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(/ /g, ' ')进入这个黑色页面。

我是不是忘记了什么愚蠢的事情?这应该发生吗?我有一些愚蠢的语法错误吗?您建议采取什么解决方案?

最佳答案

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

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

关于javascript - 插入的代码产生意外结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7895455/

相关文章:

javascript - 如何删除服务器上的文件? FilePond.revert 不传递参数给 laravel Controller

javascript - 为什么无阻塞 Node 减少 I/O 总时间?

c# - Linq 连接查询 - 如何在 View MVC C# 中显示新表

HTML 5 引用实现

javascript - 使用 jQuery 更改所有外部链接

html - 如何让 blogger SOHO 主题在 ipad 和桌面上看起来没有响应?

javascript - 从自身的一个版本中创建新的 javascript 对象

html - 如何清理 Excel vba 中的对象?

jquery - HTML & CSS 博主侧边菜单?

PHP 从 gridview 编辑行