所以我放弃了试图保护我注入的脚本的 jQuery UI 对抗世界上所有的 CSS。我决定创建一个 iframe。
当我单击工具栏按钮时,我在注入的脚本中有此代码,以查看 iframe 是否存在:
if($('#myiframe').length == 0) {
$('body').append('<iframe src="' + safari.extension.baseURI + 'popup.html" id="myiframe" style="width: 400px; height: 500px; position: absolute; top: 0; left: 0; z-index: 100000;">');
$('#content').append(strData);
} else if($('#myiframe').is(':visible') == true) {
$('#myiframe').hide();
} else {
$('#myiframe').show();
}
如果#myiframe 不存在,我将创建它。我使用 popup.html 作为 iframe 的 src。在 popup.html 中,我有一个 id 为“content”的 div。我的目标是将一堆 HTML 数据的 strData 填充到带有 append 的#content 中。这是行不通的。
iframe 被完美地绘制,并根据我单击按钮打开和关闭。但我无法附加 strData。我知道可以做到,但我不知道怎么做。这里有一个例子http://mg.to/test/dynaframe.html但是当我尝试这种方法时,下面的内容完全空白。帮助!