Aslında bu kodu yazdım.
Çapraz alt alan / bağlantı noktası kuyruklu yıldızı yapmaya çalışırken, iframe'in document.domain
üst çerçeve ile aynı değere sahip olması gerekir . Ne yazık ki, tarayıcı alan adını VE bağlantı noktasını orijinal document.domain
değer için dahili olarak depolar . Ancak javascript'teki alıcı ve ayarlayıcı bağlantı noktası hakkında hiçbir şey bilmiyor. Üst çerçeve eğer: problem Yani bu document.domain
olduğunu ('example.com', 80)
ve alt çerçevedir ('comet.example.com', 80)
, nasıl alt çerçeve olmak alabilirim ('example.com', 80)
yanı?
Bunu yapamazsınız, çünkü ana bilgisayar adı bölümünü değiştirmek mutlaka bağlantı noktasının ayarlanmasına neden olur null
, bu nedenle yapabileceğiniz en iyi şey ('example.com', null)
alt çerçevedir. Yani üst çerçevenin de bu değere ayarlanması gerekiyor ve ayar document.domain=document.domain
tam da bunu yapıyor. Tarayıcıdaki dahili gösterimi yerine olarak ('example.com', 80)
değiştirir ('example.com', null)
ve ardından her şey eşleşir ve çapraz bağlantı noktası / alt alan çerçevesi iletişimi çalışır.