Heim  >  Artikel  >  Web-Frontend  >  So nutzen Sie die domänenübergreifende Webentwicklung

So nutzen Sie die domänenübergreifende Webentwicklung

php中世界最好的语言
php中世界最好的语言Original
2018-04-18 10:00:091594Durchsuche

Dieses Mal werde ich Ihnen zeigen, wie Sie die domänenübergreifende Webentwicklung nutzen. Welche Vorsichtsmaßnahmen gibt es für die domänenübergreifende Nutzung in der Webentwicklung?

Im Prozess der Webentwicklung wird jeder mit domänenübergreifenden Themen in Berührung kommen. Viele Menschen wissen nicht, was domänenübergreifend ist und wie man domänenübergreifende Probleme in der Webentwicklung löst. Der folgende Artikel gibt Ihnen eine detaillierte Einführung dazu. Wenn Sie interessiert sind, erfahren Sie mehr über domänenübergreifende und domänenübergreifende Lösungen.

Was ist domänenübergreifend?

Das Konzept lautet wie folgt: Solange Protokoll, Domänenname und Port unterschiedlich sind, werden sie als unterschiedliche Domänen betrachtet

Im Folgenden finden Sie eine detaillierte Erläuterung der spezifischen domänenübergreifenden Situation

URL
Beschreibung Ob die Kommunikation zugelassen werden soll
http://www.a.com/a.js, http://www.a.com/b.js Unter demselben Domainnamen Erlauben
http://www.a.com/lab/a.js, http://www.a.com/script/b.js Verschiedene Ordner unter demselben Domänennamen Erlauben
http://www.a.com:8000/a.js, http://www.a.com/b.js Gleicher Domainname, unterschiedliche Ports Nicht erlaubt
http://www.a.com/a.js、https://
URL 说明 是否允许通信
http://www.a.com/a.js、http://www.a.com/b.js 同一域名下 允许
http://www.a.com/lab/a.js、http://www.a.com/script/b.js 同一域名下不同文件夹 允许
http://www.a.com:8000/a.js、http://www.a.com/b.js 同一域名,不同端口 不允许
http://www.a.com/a.js、https://www.a.com/b.js 同一域名,不同协议 不允许
http://www.a.com/a.js、http://70.32.92.74/b.js 域名和域名对应ip 不允许
http://www.a.com/a.js、http://script.a.com/b.js 主域相同,子域不同 不允许(cookie这种情况下也不允许访问)
http://www.a.com/a.js、http://a.com/b.js 同一域名,不同二级域名(同上) 不允许(cookie这种情况下也不允许访问)
http://www.cnblogs.com/a.js、http://www.a.com/b.js 不同域名 不允许
www. a.com/b.js
Gleicher Domainname, unterschiedliche Protokolle Nicht erlaubt
http://www.a.com/a.js, http://70.32.92.74/b.js Domänenname und entsprechende IP-Adresse des Domänennamens Nicht erlaubt
http://www.a.com/a.js, http://script.a.com/b.js Die Hauptdomäne ist dieselbe, aber die Unterdomänen sind unterschiedlich Nicht erlaubt (der Zugriff auf Cookies ist in diesem Fall nicht zulässig)
http://www.a.com/a.js, http://a.com/b.js Gleicher Domänenname, unterschiedliche Domänennamen der zweiten Ebene (wie oben) Nicht erlaubt (der Zugriff auf Cookies ist in diesem Fall nicht zulässig)
http://www.cnblogs.com/a.js, http://www.a.com/b.js Verschiedene Domainnamen Nicht erlaubt

1. document.domain domänenübergreifend

Prinzip: Seiten unter demselben Hauptdomänennamen, aber unterschiedlichen Subdomänennamen können auf document.domain gesetzt werden, um sie zur gleichen Domäne zu machen

Einschränkungen: Dokumente in derselben Domäne bieten Interoperabilität zwischen Seiten und die Iframe-Seite muss geladen werden

Seiten unter den folgenden Domänennamen können über document.domain domänenübergreifend interoperiert werden: http://a.com/foo, http://b.a.com/bar, http://c.a.com/bar. Die Seiteninteroperation kann jedoch nur in Form einer Seitenverschachtelung durchgeführt werden. Beispielsweise kann die gemeinsame Iframe-Methode die Seitenverschachtelung abschließen

// URL http://a.com/foo
var ifr = document.createElement('iframe');
ifr.src = 'http://b.a.com/bar'; 
ifr.onload = function(){
    var ifrdoc = ifr.contentDocument || ifr.contentWindow.document;
    ifrdoc.getElementsById("foo").innerHTML);
};
ifr.style.display = 'none';
document.body.appendChild(ifr);

Die URL, unter der sich der obige Code befindet, ist http://a.com/foo, und der DOM-Zugriff auf http://b.a.com/bar erfordert, dass letztere document.domain eine Ebene höher setzt

// URL http://b.a.com/bar
document.domain = 'a.com'

document.domain kann nur von einer Subdomain auf die Hauptdomain umgestellt werden und auf andere Domainnamen ist der folgende Fehler nicht zulässig:

Nicht abgefangene DOMException: Die Eigenschaft „domain“ für „Document“ konnte nicht festgelegt werden: „baidu.com“ ist kein Suffix von „b.a.com“

2. Tags mit src

Prinzip: Alle HTML-Tags mit dem src-Attribut können domänenübergreifend sein, einschließlich ,