Я новичок в разработке расширений Chrome, и я создаю тот, для которого требуется боковая панель (а не всплывающее окно), например firebug, но с правой стороны. Я использую jsTree (с json_data) на боковой панели и хочу перетаскивать элементы с веб-страницы на боковую панель.
До сих пор для создания боковой панели я использовал div, присоединенный к телу с z-индексом, чтобы он отображался над веб-страницей, но стили элементов на моей боковой панели изменены из-за css веб-сайта.
Поэтому я подумал, что могу использовать iframe, чтобы избежать какой-либо несовместимости css на моей боковой панели. Я создаю iframe динамически с помощью src="chrome-extension:///page.html".
Мне удалось заставить мой jstree нормально работать в моем iframe, загрузив сценарии jquery+jstree непосредственно на исходной странице iframe... это довольно плохо, но я не могу заставить сценарий содержимого использоваться для исходной страницы iframe ( несмотря на "all_frames": правда).
Я хотел бы перетащить элементы со страницы веб-сайта в jstree в iframe... Я нашел iframeFix: true и refreshPositions: true, но, похоже, это ничего не меняет... Кто-нибудь знает, как это сделать ?
Если я не использую iframe, согласно многочисленным примерам в Интернете, я могу легко поместить элемент в jstree с помощью плагина dnd. я не пробовал; даже если это сработает, CSS на моей боковой панели будет изменен, и я не могу этого допустить.
Я видел технику «слой div над iframe». Я могу успешно удалить элемент с веб-страницы в этом div над iframe. Но когда я пытаюсь отправить сообщение (содержащее данные отброшенных элементов) в iframe через порт, iframe не получает сообщение. Моя идея в этом случае состоит в том, чтобы каким-то образом добавить сообщение в данные json jstree.
Я прочитал все посты, которые я нашел о content_scripts и iframe, я знаю об ошибках... Я не могу понять, исправлено это или нет, и если это так, я не знаю, как сделать так, чтобы связь порта между iframe и скриптом контента работает. Кто-нибудь знает об этом больше?
Я также должен добавить, что, когда я пытаюсь установить связь между сценарием содержимого и iframe, используя порт, и копировать прослушиватель из iframe на фоновой странице, фоновая страница получает сообщение просто отлично... что просто означает, что порт связь работает нормально, я полагаю, но не между сценарием контента и iframe...
Есть предположения? я действительно застрял