Доступ к <iframe>для контента на Etherpad с использованием jQuery - PullRequest
2 голосов
/ 06 апреля 2011

Я пытаюсь создать типографский хром плагин для сайтов EtherPad.Проблема в том, что я не знаю, как удалить встроенный CSS <body> в iframe в iframe на etherpad, используя jQuery

Если вы откроете документ etherpad, скажем, на http://typewith.me, есть HTML, который выглядит так:

<body id="innerdocbody" class="syntax safari authorColors doesWrap" spellcheck="false" contenteditable="true" style="font-family: Arial, sans-serif; font-size: 13px; line-height: 17px; ">

Мне просто нужно удалить атрибут стиля, используя jQuery.(Я парень из CSS, новичок в jQuery)

Ответы [ 3 ]

0 голосов
/ 07 апреля 2011

Если вам нужно запустить скрипт содержимого внутри iframes, вам нужно включить флаг all_frames в манифесте. Подробнее об этом здесь .

0 голосов
/ 07 апреля 2011

Только что написал быструю функцию, которая будет выполнять getElementById во всех фреймах в документе, рекурсивно и возвращать первый найденный элемент.

function getElementByIdInFrames(id, base) {
  var el;
  if(el = base.document.getElementById(id)) {
    return el;
  }

  for(var i = 0, len = base.frames.length; i < len; i++) {
    if(el = getElementByIdInFrames(id, base.frames[i])) {
      return el;
    }
  }
}

С этим вы можете использовать следующий код дляудалить атрибут стиля из # innerdocbody

getElementByIdInFrames("innerdocbody", window).removeAttribute('style');
0 голосов
/ 07 апреля 2011
$('body', $('iframe#yourIframeID').contentDocument).removeAttr('style');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...