Tôi đang viết một pixel JavaScript sẽ được phân phát cùng với quảng cáo AD trên các trang của nhà xuất bản. AD này sẽ được chứa trong iframe tên miền chéo (đôi khi nhiều cấp) trên trang web của nhà xuất bản. Vì vậy, các trang xuất bản trông giống nhưXác định url của cửa sổ cấp cao nhất từ iframe nhiều miền chéo
máy chủ (nhà xuất bản) trang web này
<html>
<iframe src="http://domain1.com" name="first_level_iframe">
<iframe src="http://domain2.com" name="second_level_iframe">
<!--The script I want to write will be hosted here-->
</iframe>
</iframe>
</html>
Nếu nhà quảng cáo muốn biết về những gì tất cả các trang của mình/AD của mình là nhận được phục vụ thì chúng ta cần phải biết trang chủ url.
Như đã đề cập here chúng ta có thể lấy url trang mẹ sử dụng document.referrer như thế này
var url = (window.location != window.parent.location) ? document.referrer: document.location;
nhưng nó chỉ hoạt động cho lĩnh vực mà chỉ là một cấp lên. Chúng tôi không thể đạt đến mức cao nhất kể từ khi chúng tôi không có bất kỳ kiểm soát nào đối với iframe "domain1.com". Đây là một vấn đề mà mọi người đang cố gắng giải quyết trong một thời gian dài và có rất nhiều câu hỏi đã có trên SO hỏi chính xác như vậy. Nhưng tôi yêu cầu lại vì điều này article. Nó tuyên bố rằng họ có một giải pháp cấp bằng sáng chế có thể phát hiện url cửa sổ cấp cao nhất. Dưới đây là một đoạn trích từ blog
Các phao cứu sinh là một kỹ thuật được phát triển tại AdSafe: Chìa khóa để giải pháp là khả năng đọc địa chỉ của khung đầu mà là lưu trữ quảng cáo (*). Chúng tôi đã phát hiện khiêu dâm vì các quảng cáo được phải xuất hiện trong trang web "nhà xuất bản sạch" xuất hiện trong khung của trang web khiêu dâm. Hãy nghĩ về HGTV như một minh họa, nhưng không phải là ví dụ thực sự của một "nhà xuất bản sạch" như vậy.
Vì vậy, có cách nào để phát hiện url cửa sổ cấp cao nhất không?
Câu hỏi tương tự: Top window's URL form inside of multiple nested cross-domain iFrames