我正在研究一個JavaScript小部件(我實際上有幾個我想更新),並希望將嵌入代碼片段提取到只有一個單獨的<img> onload屬性。在過去,我使用了一個<img>標籤。然後,我切換到<腳本>標記,以使窗口部件無阻塞。出於可用性的原因,我正在研究< img> only選項。如果您不必切換到WYSIWYG編輯器的源視圖,則複製和粘貼以便輕鬆移動小部件更容易。在WYSIWYG編輯器中可以直觀地看到某些東西,這也非常好。關於圖像的JavaScript小部件代碼片段onload
下面是摘錄的當前草案的一個例子:
<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);" />
什麼是防止部件從執行的WYSIWYG預先保存的最好方法?小部件的加載無法在編輯器中更改DOM。
我的思路:從TinyMCE的變量的存在
看。如果已定義,則不要處理 小部件。 TinyMCE是我需要與 兼容的編輯器。但我也可能需要爲其他所見即所得「修復」。
檢查DOM並查找僅存在於所見即所得內的 的屬性,例如在iframe中。但是我需要這個小部件在iframe中工作。
這兩個選項都存在問題。當我的小部件執行時,TinyMCE可能還沒有定義。由於某種原因,圖像加載事件被多次觸發。最終我會喜歡能夠普遍使用的解決方案。
想法?輝煌的解決方案?