一旦你调用makeEditable()
了goog.editor.Field
创建你引用的 iFrame 的 ,Field 就会触发一个类型为 的事件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 文件中,你可以添加任何你想要的样式。比如你的字体改变。