写入从NSTextView一个iframe
-
19-08-2019 - |
题
我已经建立了一个基于Web的所见即所得的编辑器,我可是从我的可可应用程序编程访问。目前,我能够运行脚本和检索在编辑器中的iFrame的HTML,但我无法从NSTextView文本发送到的iFrame。任何想法?
该编辑器是这里 http://www.alexmillsdesign.com/Developer/FernEngine/一>
干杯 亚历米尔斯
解决方案
我不是这方面的专家,但我已经在做一些类似的过去写的示例代码。我采取的方法是以下几点:要更新类似文本中插入代码在您的Cocoa类
WebScriptObject *webScriptObject = [_webView windowScriptObject];
id result = [webScriptObject callWebScriptMethod:@"setTableRows" withArguments:[NSArray arrayWithObject:fauxData]];
其中fauxData是任何你想要传递给JS,而在JS源也有类似的东西。
var mytable = document.getElementById("myTable");
var mytbody = document.getElementById("myTbody");
var docFragment = document.createDocumentFragment();
var myNewtbody = document.createElement("tbody");
myNewtbody.id = "myTbody";
var trElem, tdElem, txtNode;
for(var j = 0; j < row_data.length; ++j) {
trElem = document.createElement("tr");
trElem.className = "tr" + (j%2);
tdElem = document.createElement("td");
tdElem.className = "col0";
txtNode = document.createTextNode(row_data[j].lastName);
tdElem.appendChild(txtNode);
trElem.appendChild(tdElem);
tdElem = document.createElement("td");
tdElem.className = "col4";
txtNode = document.createTextNode(row_data[j].firstName);
tdElem.appendChild(txtNode);
trElem.appendChild(tdElem);
docFragment.appendChild(trElem);
}
myNewtbody.appendChild(docFragment);
mytable.replaceChild(myNewtbody, mytbody);
,当然你的HTML应该是这样
<table id="myTable">
<thead id="myThead">
<tr>
<th>Last</th>
<th>First</th>
</tr>
</thead>
<tbody id="myTbody">
</tbody>
</table>
显然,这填补了数据的表中的行,但在更新文本将是相似的。
不隶属于 StackOverflow