2012-01-04 4 views
0

У меня есть IFrame и разработали как клонировать его с помощью JQuery:Как клонировать фактическое содержимое iFrame, а не только содержимое тега iFrame?

<HTML> 
<HEAD> 
    <SCRIPT type="text/javascript" src="jquery.js"></SCRIPT> 
    <SCRIPT> 
    function clone_test() { 
     $('#FRAME1').clone().appendTo('#divtag'); 
    } 
    </SCRIPT> 
</HEAD> 

<DIV id="divtag"> 
    <iframe id="FRAME1" name="FRAME1" src="http://currencies.typeit.org/" width="360" height="360" frameborder="0"></iframe> 
</DIV> 

<a href="javascript:clone_test()" target="FRAME1">- CLONE THE iFRAME -</a> 

</HTML> 

Но это не то, что я хочу! Моя проблема в том, что все, что вводится в поле валюты, не включено в процесс клонирования. Кажется, что только клоун HTML, а не фактическое содержимое iFrame. В любом случае можно клонировать iFrame, включая все, что вводится в поле валюты? Это только должно работать для браузера Chrome, поскольку я делаю расширение Chrome.

+0

Правила перекрестной политики домена! –

ответ

2

Если Iframe из другого домена, вы не можете получить доступ к его содержимому из-за той же политики происхождения.

1

Я не думаю, что это возможно, ваш код просто дублирует элемент iframe, который снова загружает внешнюю страницу, и он находится в состоянии «по умолчанию». Но вы не можете получить доступ к содержимому iframe.

1

Это не может быть сделано, если URL-адрес iframe и URL-адреса вашего домена не совпадают.

Если они одинаковы, вам также нужно клонировать элемент документа iframe и добавить его в клонированный iframe.

0

Существует, однако, обходное решение для этого. Из-за той же политики происхождения вам нужно использовать завиток (если вы используете php) для «подделки», что контент поступает из того же домена. После этого вы сможете получить содержимое iframe с помощью.

$ ("# frameid"). Содержание(). Find ("body *");

Смежные вопросы