2009-02-14 2 views
12

Это JQuery возвращает исходный URL кадра:Получить исходный кадр с JQuery (после того, как источник изменился)

$('#frame-name').attr('src') 

Но если ссылка внутри рамки щелкнул, оригинальный источник еще вернулся.

Возможно ли определить новый URL-адрес источника? Или получить источник нового документа, загруженного в рамку? Если любой из них является да, существуют ли ограничения безопасности, если исходный кадр содержит URL-адрес из другого домена?

ответ

5
parent.frames[1].location.href; 

Не jQuery, но то, что я искал. Однако вызывается ошибка безопасности, если источник находится в другом домене.

1

AFAIK нет хорошего способа сделать это с помощью jQuery. Вам нужно использовать location.href в элементе html, поэтому, если вы получите элемент с jQuery, вы можете это сделать.

$("#iframe-name").get(0).location.href 
+1

$ ("# iframe-name"). Get (0) .location.href is undefined –

+0

Выполняете ли вы это из родительского фрейма? Посмотрите, действительно ли селектор возвращает HTMLElement. alert ($ ("# iframe-name"). Get (0)); –

+5

try $ ("# iframe-name"). Get (0) .contentWindow.location.href –

1

Является ли ссылка из другого домена? Браузеры могут ограничить доступ к любой информации о том, что пользователь открыл в других окнах или фреймах, если он находится на другом сайте в качестве меры предосторожности.

2

В качестве расширения браузера ошибки системы безопасности исчезнут.

Например, Greasemonkey - это расширение Firefox, в котором вы можете исследовать, и если вам нравится сценарий, который вы создаете, он, я полагаю, может быть упакован в его собственное расширение.

В качестве альтернативы вы можете вставлять скрипт в страницу как bookmarklet.

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