Safari扩展修改iframe?
所以我放弃了尝试保护我的注入脚本的 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。我的目标是将 strData(一堆 HTML 数据)通过附加方式填充到 #content 中。这是行不通的。
iframe 绘制完美,并根据我单击按钮打开和关闭。但我无法附加 strData。我知道可以做到,但我不知道如何做到。这里有一个例子 http://mg.to/test/dynaframe.html 但是当我尝试这种方法时,下面的内容完全空白。帮助!
So I gave up trying to defend my injected script's jQuery UI against all the CSS of the world. I decided to create an iframe.
When I click the toolbar button I have this code in the injected script to see if the iframe exists yet:
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();
}
If #myiframe doesn't exist I'll create it. I'm using popup.html as the src for my iframe. In popup.html I have a div with the id "content". My goal is to stuff strData, which is a bunch of HTML data, into #content with append. This is not working.
The iframe is drawn perfectly and opens and closes based on me clicking the button. But I am not able to append strData. I know it can be done but I don't know how. There is one example floating around here http://mg.to/test/dynaframe.html but when I tried this method the content underneath went completely blank. Help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要在 CSS 中拥有自己的命名空间。如果您的类名与页面的类名匹配,那么您将会遇到一些冲突。类似于
div_text
You need your own namespace in your CSS. If your classnames match that of the page's, then you'll have some conflicts. Something like
instead of
div_text