0

我正在开发一个 JavaScript 小部件(我实际上有几个我想更新),并希望将嵌入代码片段提炼成一个在 onload 属性中带有 JavaScript 的单个 <img> 标记。过去我使用 a 和 <img> 标签。然后我切换到一个 <script> 标记以使小部件非阻塞。出于可用性原因,我正在研究 <img> 唯一选项。如果您不必切换到所见即所得编辑器的源视图,则复制和粘贴以移动小部件会更容易。在 WYSIWYG 编辑器中可以直观地看到一些东西也非常好。

以下是当前代码段草稿的示例:

<img id='NotablePAD80' class='NotablePAD' src='//dev.notable.webapp.msu.edu/n.png' 
data-section='nathanlounds' onload="(function(d){ var i=d.getElementsByTagName('IMG')[0], 
u='https://dev.notable.webapp.msu.edu/n.js', 
j=i.previousSibling||i; if(j.src!==u) { var s=d.createElement('SCRIPT'); 
s.type='text/javascript'; s.src=u; i.parentNode.insertBefore(s,i);}})(document);" />

防止小部件在所见即所得中执行预保存的最佳方法是什么?小部件的加载不能更改编辑器中的 DOM。

我的想法:

  1. 从 tinyMCE 变量的存在来看。如果已定义,请勿处理小部件。TinyMCE 是我需要兼容的编辑器。但我可能也需要其他所见即所得的“修复”。

  2. 检查 DOM 并查找仅存在于 WYSIWYG 中的属性,例如在 iframe 中。但我需要小部件在 iframe 中工作。

这两个选项都有问题。当我的小部件执行时,可能尚未定义 TinyMCE。由于某种原因,图像加载事件被多次触发。最终,我会喜欢一个通用的解决方案。

想法?出色的解决方案?

4

1 回答 1

0

检查图像的父级是否启用了 contentEditable,或者文档的正文是否处于设计模式

于 2013-05-30T15:58:54.370 回答