Работает ли прототип JavaScript между контекстами parent / iframe? - PullRequest
0 голосов
/ 18 декабря 2010

Я создаю веб-редактор кода и столкнулся с проблемами при работе с фокусом. Очевидно, что мне нужно перейти в iframe для каждого экземпляра редактора. Тем не менее, я не уверен, возможно ли использовать JavaScript на основе прототипов наследование в этом случае.

По сути, мне нужен включенный скрипт, содержащий определение прототипа и каждый объект, обслуживающий конкретный iframe, использует этот единственный прототип.

С этого момента у меня есть две идеи:

  1. Объекты, обслуживающие iframes, должны размещаться в верхнем окне.
  2. Объекты, обслуживающие iframe, должны размещаться в дочерних окнах iframe.

Как лучше всего справиться с этой ситуацией? Я не уверен как правильно работать с границей контекста JavaScript ...

1 Ответ

1 голос
/ 18 декабря 2010

Это можно сделать.Это займет некоторую работу, и вам, возможно, придется внести некоторые изменения в свой источник.

Для начала вам нужно убедиться, что вы никогда не используете window.document ни в одном коде.Вы имеете дело с несколькими документами, и они не могут совместно использовать узлы.Вы можете использовать [node] .ownerDocument, тем не менее, таким образом у вас будет межкадровое безопасное взаимодействие узлов.Я не работал с CodePress раньше, но я не удивлюсь, если он не сможет работать с кадрами таким образом.

Кроме того, есть некоторые проблемы с IE и кросс-кадрами объектов / функций.Насколько я помню, иногда функция преобразуется в объекты, а затем фактически не может быть вызвана, и обнаружение включает в себя использование toString и выделение его в "[объектный объект]"

...