一旦您在goog.editor.Field
上致電makeEditable()
(它創建您引用的iFrame),該字段就會觸發類型爲goog.editor.Field.EventType.LOAD
的事件。如果您傾聽該事件,則可以取出iFrame並將鏈接元素摺疊到CSS樣式表中,以便在編輯器中輕鬆修改內容。
這是我的聽衆之一,應該讓你走上正軌。 (我沒有檢查goog.editor.Field
是否是事件的目標,但我認爲是)。
some.namespace.Page.prototype.onEditorLoad_ = function(event) {
var editor = /** @type {goog.editor.Field} */ (event.target);
var iFrame = editor.getEditableIframe();
if (iFrame) {
var fieldDomHelper = editor.getEditableDomHelper();
var documentNode =
fieldDomHelper.getFrameContentDocument(iFrame).documentElement;
var head = documentNode.getElementsByTagName(goog.dom.TagName.HEAD)[0];
if (!head) {
head = fieldDomHelper.createDom(goog.dom.TagName.HEAD);
goog.dom.insertChildAt(documentNode, head, 0);
}
fieldDomHelper.appendChild(
head,
fieldDomHelper.createDom(
goog.dom.TagName.LINK,
{ 'href': '/css/myCSS.css', 'rel': 'stylesheet', 'type': 'text/css' }
)
);
}
}
最後,在CSS文件,你可以添加任何你想要的造型。比如你的字體改變。
太棒了,謝謝! – Korneel