Поэтому я отказался от попыток защитить пользовательский интерфейс jQuery моего внедренного скрипта от всего 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 в качестве src для своего iframe. В popup.html у меня есть div с идентификатором «контент». Моя цель — вставить strData, представляющую собой набор данных HTML, в #content с помощью append. Это не работает.
iframe отлично нарисован и открывается и закрывается, когда я нажимаю кнопку. Но я не могу добавить strData. Я знаю, что это можно сделать, но я не знаю, как. Здесь есть один пример http://mg.to/test/dynaframe.html, но когда я попробовал этот метод, содержимое внизу стало полностью пустым. Помощь!