Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Альтернатива фреймовым окнам [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Без описания
IllusionMH
Отправлено: 24 Мая, 2014 - 01:45:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




Gerd, умения читать ответы?
OrmaJever пишет:
ajax запрос нужно делать на свой скрипт (на своём домене)

Изучать Same-origin policy
 
 Top
Gerd
Отправлено: 24 Мая, 2014 - 02:52:27
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 650
Дата рег-ции: Сент. 2012  


Помог: 0 раз(а)

[+][+][+]


IllusionMH пишет:
Gerd, умения читать ответы?
OrmaJever пишет:
ajax запрос нужно делать на свой скрипт (на своём домене)

Изучать Same-origin policy

Есть ли, что та аналогичное? Необходимо,чтобы пользователь подгрузил браузером, не через php...
 
 Top
Zuldek
Отправлено: 24 Мая, 2014 - 10:00:40
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




OrmaJever пишет:
кроссдоменого ajax'a не существует по причинам безопасности. Для запросов на другой домен либо фреймы либо писать php скрипт который берёт данные и обращаться к нему ajax'ом


iframe + API Cross-Document Messagering не?

CODE (javascript):
скопировать код в буфер обмена
  1. $(function(){
  2.     $("#field-in-iframe-with-page-from-other-domain").click(function(event)){
  3.        // допустим, зацепим данные из атрибута data-foo="ля-ля-фа" элемента DOM
  4.        var data = $(this).data( "foo" );
  5.        // фактически url-адрес родительского окна
  6.        var origin = "http://site.com/index.html";
  7.            window.parent.postMessage(data, origin);
  8.     });
  9. });


Соответственно, в родительском окне (текущий домен, куда передаём)

CODE (javascript):
скопировать код в буфер обмена
  1. $(function(){
  2.     $(window).bind("message",function(event){
  3.         $("#past-data-for-other-domain-container").val(event.oroginalEvent.data);
  4.     });
  5.  
  6. });
  7.  


Для IE 6-7 придётся использовать обходное решение для эмуляции междоменной передачи (что задачу всёравно решит) построенное к примеру на jquery Postback (postmessage):


CODE (javascript):
скопировать код в буфер обмена
  1. $(function(){
  2.     $("#field-in-iframe-with-page-from-other-domain").click(function(event)){
  3.        var data = $(this).data( "foo" );
  4.        // фактически url-адрес родительского окна
  5.        var origin = "http://site.com/index.html";
  6.        
  7.        if(window.postMessage){
  8.            window.parent.postMessage(data, origin);
  9.        }else{
  10.            $.getScript("/js/jquery.postmessage.js", function(){
  11.                $.postMessage(data, origin, window.parent);
  12.            });
  13.        }
  14.     });
  15. });


соответственно, в родителе ифрейма:

CODE (javascript):
скопировать код в буфер обмена
  1. $(function(){
  2.   if(window.postMessage){
  3.     $(window).bind("message",function(event){
  4.         $("#past-data-for-other-domain-container").val(event.oroginalEvent.data);
  5.     });
  6.   }else{
  7.            $.getScript("/js/jquery.postmessage.js", function(){
  8.                $.receiveMessage(
  9.                    function(event){
  10.                        $("#past-data-for-other-domain-container").val(event.data);
  11.                    });
  12.            });
  13.   }
  14. });
  15.  


Вот как бы и всё решение кроссбраузерное. Перемудрили вы с php... .

(Отредактировано автором: 24 Мая, 2014 - 10:09:12)

 
 Top
nerv
Отправлено: 24 Мая, 2014 - 13:04:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




Gerd пишет:
Забыл все совсем

плохо, когда не знаешь, да еще и забудешь Улыбка

Zuldek пишет:
iframe + API Cross-Document Messagering не?

выше уже писали
LIME пишет:
CORS

хотя нет, не писали

писали о
Кросс-доменный XMLHttpRequest
http://learn[dot]javascript[dot]ru/xhr-crossdomain

Кросс-доменные запросы через IFRAME + postMessage
http://learn[dot]javascript[dot]ru/ajax-iframe-xdomain

Таблица транспортов
http://learn.javascript.ru/ajax-summary#таблица-транспортов

(Отредактировано автором: 24 Мая, 2014 - 13:20:39)



-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
Zuldek
Отправлено: 25 Мая, 2014 - 10:47:23
Post Id


Постоянный участник


Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010  


Помог: 50 раз(а)




Цитата:
Кросс-доменные запросы через IFRAME + postMessage
http://learn[dot]javascript[dot]ru/ajax-iframe-xdomain

И смысл ссылки?
Я показал готовое решение причем кроссбраузерное и с postMessage и без postMessage, которое будет работать и в IE6. Лишь бы пост оставить что ли Хм

(Отредактировано автором: 25 Мая, 2014 - 10:53:03)

 
 Top
nerv
Отправлено: 25 Мая, 2014 - 11:08:57
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




Zuldek пишет:
Я показал готовое решение причем кроссбраузерное и с postMessage и без postMessage, которое будет работать и в IE6. Лишь бы пост оставить что ли

БЕЗ жуквери и БЕЗ плагинов для него (моя ссылка)
кроме того она объясняет, как это работает и как эмулировать это поведение

Zuldek, или ты совсем разницу не видишь?)


-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB