iframe, созданный с помощью jquery, добавляет абсолютный URL к текущему домену - PullRequest
0 голосов
/ 04 марта 2012

Я создаю iframe с использованием jQuery для «межсайтового» URL.В Firefox это работает правильно, но IE добавляет домен родительских страниц к URL-адресу iframes src.

Примером может быть, если я создаю iframe (с jQuery):

<iframe src="http://www.google.com"></iframe>

Страница, которую IE попытается загрузить, выглядит так:

http://www._mysite_.com/http://www.google.com

ЕслиЯ статически в HTML создаю iframe все отлично работает.Только когда я использую JS, он загружает не ту страницу.

Полагаю, я бы понял, была ли это преднамеренная межсайтовая защита, встроенная в IE, но мне интересно, так ли этоили я что-то упустил.

Это поведение по умолчанию для IE?Если у кого-то есть обходной путь, он будет очень признателен.

РЕДАКТИРОВАНИЕ:

Сгенерированный код:

<iframe id="myIframe" width="500" height="400" frameborder="0" src="http://www._website_.com/aaa/bbb/ccc">

Я протестировал сгенерированный код в статическом HTML, и он правильно работал в IE.

EDIT2:

Вот как я создаю iframe:

jQuery('.signUp').live('click', function() {

    var url = 'http://www._website_.com'+$(this).attr('href');

    var thisModal='<div id="dialogRes" class="windowG"><iframe id="iframeG" frameborder="0" width="500" height="400" src="#"></iframe></div>';

    jQuery('body').append(thisModal);

    jQuery('#iframeG').prop('src', url);        

    return false;

});

В этой строке:

jQuery('#iframeG').prop('src', url);        

Я пробовал attr(), а также удаляю еговсе вместе и просто поместив url в тег src iframe.Казалось, ничего не работает.

1 Ответ

1 голос
/ 04 марта 2012

Проблема в том, что в IE атрибут href всегда возвращается как абсолютный URL. Так что, если у вас было

<a id="demo" href="bar/baz">...</a>

Тогда вы на вашем сайте http://mydomain.com/foo:

jQuery('#demo').attr('href') == 'http://mydomain.com/foo/bar/baz';

Два варианта решения этой проблемы: либо проанализировать (возможный) полный домен из атрибута href, либо использовать другой настраиваемый атрибут просто для хранения целевого адреса / пути (например, data-href).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...