2015-01-14 2 views
0

Я динамически создаю iframe, а затем вызываю aspx-страницы в него, что мне нужно сделать, это получить доступ к элементам страницы iframe и изменить ее (только конкретный элемент, например текстовое поле или ярлык и т. д.) без перезагрузки всей страницы.Доступ к динамически созданному содержимому iframe/элементам, таким как текстовое поле, метка из javascript

первая задача - получить доступ к элементам страниц, которые вызывают в моем iframe, я пытаюсь использовать их с javascript, но пока не достигнут прогресса.

я попробовал различные решения, как это:

How to get the body's content of an iframe in Javascript?

ответ

0

На самом деле, ответ вы прилагается должны работать. Но учтите, что это верно только в том случае, если ваша родительская страница и URL-адрес iframe загружены с одного и того же хоста (имя домена). если нет, вы получите сообщение об ошибке в своем браузере, в котором указано, что эта операция заблокирована.

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

Вы можете открыть сценарий на стороне сервера в своем собственном домене, который получает URL-адрес, получает его содержимое и затем эхо-код. Таким образом, вы получаете исходное требуемое содержимое страницы, но у вас есть это на своем собственном хосте, чтобы вы могли манипулировать им, как упоминание в attached answer.

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

PHP Пример такой функции:

function fetchURL() { 
    $urlToFetch = urldecode($_GET['url']); 
    $contents = file_get_contents($urlToFetch); 
    // maybe here manipulate links and other stuff throw str_replace or, 
    // if you want more control over it, you may want to load it in to some DOM parser class, 
    // manipulate it and extract the result back to a string variable. 
    echo $contents; 
} 

Обратите внимание, что в этом случае вы должны загрузить сценарий через IFRAME с желаемым URL в виде строки запроса, как, что:

$yourDesiredURL = 'http://www.example.com'; 
echo '<iframe src="http://www.yourdomain.com/your/script/path.php?url=' . urlencode($yourDesiredURL) . '"></iframe>'; 

* ************** EDIT *****************

На самом деле теперь я вижу, что вы отметили .NET, поэтому мой примерный код вероятно, не самый лучший для вас, но поскольку он очень короткий и простой это не было бы проблемой для его преобразования. Опять же, я хочу сказать, что iv'e никогда не пробовал, и это, вероятно, над вашей (и моей) головой, может быть, вам лучше отказаться от этой идеи.

+0

спасибо за ответ, мой iframe и страница размещаются в одном домене, не знаю, почему я не могу выполнить требуемую операцию, когда я делаю это правильно, я полагаю, http://www.codeproject.com/Questions/ 865460/доступ к динамически-созданному-IFrame-Contents-эль? ARN = 0 –