Расширение Safari изменяет iframe?

Поэтому я отказался от попыток защитить пользовательский интерфейс 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, но когда я попробовал этот метод, содержимое внизу стало полностью пустым. Помощь!


person gdanko    schedule 28.02.2011    source источник
comment
Я посмотрел на расширения на днях. Разве вам не нужно регистрировать события с помощью API javascript, который Safari описывает в своей ссылке? Вы делаете это?   -  person thenengah    schedule 28.02.2011
comment
Сэм, не уверен, что ты имеешь в виду. Расширение работает на 100%, если я не использую iframes, но CSS различных сайтов забьет мое расширение. Я пытаюсь избежать беспорядка и перейти на iframe.   -  person gdanko    schedule 28.02.2011


Ответы (1)


Вам нужно собственное пространство имен в вашем CSS. Если ваши имена классов совпадают с именами страниц, у вас возникнут конфликты. Что-то типа

.mynamespace_div_text

вместо div_text

person bear    schedule 01.10.2012