За последние 24 часа нас посетили 67895 программистов и 1650 роботов. Сейчас ищут 882 программиста ...

Манипуляция с данными дочернего окна

Тема в разделе "JavaScript и AJAX", создана пользователем DZEN, 27 янв 2012.

  1. DZEN

    DZEN Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    Проблема элементарная - в попап окне поменять значение элемента. Но вместо элемента постоянно получаю null.
    Код (Text):
    1. <a onclick="return some_function()" href="javascript:void(0)">ссылка</a>
    Код (Text):
    1. function some_function()
    2. {
    3.     var newwin = window.open('http://some.site/some_page.htm');
    4.     $(newwin.document).ready(function(){
    5.         $(newwin.document).contents().find('#element').val('132456');
    6. });
    или так
    Код (Text):
    1. function some_function()
    2. {
    3.     var newwin = window.open('http://some.site/some_page.htm');
    4.     newwin.onload = function(){
    5.         newwin.document.getElementById('element').value = 132456;
    6. });
     
  2. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    Код (Text):
    1.  
    2. function some_function()
    3. {
    4.     var newwin = window.open('http://some.site/some_page.html');
    5.     newwin.onload = function(){ newwin.document.getElementById('test').innerHTML = "Done..";};
    6. };
    some_page.html
    Код (Text):
    1.  
    2. <div id="test"></div>
    Работает у мну.

    PS: похоже у вас баг тут: "});"
     
  3. DZEN

    DZEN Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    три браузера - эффекта никакого.
    Код (Text):
    1. <!doctype html>
    2. <html><head><meta charset="utf-8"><title>манипуляции с окном</title></head><body>
    3. <script>
    4. function some_function()
    5. {
    6.     var newwin = window.open('http://ya.ru/');
    7.     newwin.onload = function(){ newwin.document.getElementById('text').value = 'поискова фраза';};
    8. };
    9. </script>
    10. <a onclick="return some_function()" href="javascript:void(0)">ссылка</a>
    11. </body><html>
     
  4. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    Ваш скрипт, мой popup-html:
    Код (Text):
    1. <input type="text" id="text" />
    Полёт нормальный.
     
  5. DZEN

    DZEN Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
  6. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    ya.ru много чего делает, и возможно переопределяет поисковый инпут (даже не вдавался в подробности).
    Код (Text):
    1. var newwin = window.open('http://yandex.ru/yandsearch?text='+ чё_ищем);
    не катит?
     
  7. DZEN

    DZEN Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    мне нужно на странице удалённого хостинга. и именно подставлять значение в input (яндекс был просто как пример)
     
  8. AndreJM

    AndreJM Активный пользователь

    С нами с:
    25 янв 2012
    Сообщения:
    522
    Симпатии:
    0
    Код (Text):
    1. Unsafe JavaScript attempt to access frame with URL http://ya.ru/ from frame with URL http://localhost/index.html. Domains, protocols and ports must match.
    Вот вам и весь фокус.
    Не выйдет у Вас "каменный цветочек" на разных доменах.
     
  9. DZEN

    DZEN Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    Во первых так зверствуют только WebKit`ы. Во вторых именно это решение с другими доменами я и описал в самом начале. Я просто не верю что решения этой задачи не существует.
     
  10. Denis.Y

    Denis.Y Активный пользователь

    С нами с:
    8 авг 2011
    Сообщения:
    145
    Симпатии:
    0
    Адрес:
    Россия, Самарская область
    Заказчик случаем не DelaySam !? ))
     
  11. DZEN

    DZEN Активный пользователь

    С нами с:
    10 сен 2007
    Сообщения:
    250
    Симпатии:
    0
    Может тогда уже SdelaySam? Хотя шутки юмора не понял…
     
  12. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Управлять данными можно только на том же домене, с которого загружена страница с скриптом.

    Код (Text):
    1.            function some_function()
    2.             {
    3.                 var newwin = window.open('http://localhost/');
    4.                 newwin.onload = function(){
    5.                     newwin.document.write('ololo');
    6.                 };
    7.             };
    работает
    Код (Text):
    1.            function some_function()
    2.             {
    3.                 var newwin = window.open('http://ya.ru');
    4.                 newwin.onload = function(){
    5.                     newwin.document.write('ololo');
    6.                 };
    7.             };
    не работает.