Sự khác nhau giữa việc sử dụng location.hostname và document.domain là gì?Javascript: Sự khác biệt giữa location.hostname và document.domain?
Tôi nghĩ giải thích bằng ví dụ sẽ hữu ích.
Sự khác nhau giữa việc sử dụng location.hostname và document.domain là gì?Javascript: Sự khác biệt giữa location.hostname và document.domain?
Tôi nghĩ giải thích bằng ví dụ sẽ hữu ích.
Có vẻ như document.domain
là chỉ đọc thuộc tính, ngoại trừ trong Mozilla, cho phép bạn thay đổi giá trị của miền được sử dụng cho chính sách gốc của (ví dụ) yêu cầu AJAX mà không thực sự cập nhật trang.
Các hạn chế đối với điều này là cùng quy tắc của Chính sách xuất xứ tương tự.
Ít nhất đây là hiểu biết của tôi về MDC docs for document.domain
.
Từ các tài liệu:
Gets/bộ phần lĩnh vực nguồn gốc của tài liệu hiện thời, như được sử dụng bởi các chính sách cùng một nguồn gốc.
...
Trong đặc tả HTML DOM, thuộc tính này được liệt kê là chỉ đọc. Tuy nhiên, Mozilla sẽ cho phép bạn đặt nó thành một siêu tên miền của giá trị hiện tại, bị hạn chế bởi miền cơ sở của nó. Ví dụ: trên developer.mozilla.org, bạn có thể đặt nó thành "mozilla.org" nhưng không đặt "mozilla.com" hoặc "org".
Thử cập nhật document.domain
và window.location.hostname
thành giá trị mới trong bảng điều khiển và thấy sự khác biệt.
Dường như nó hữu ích trong Safari/Chrome/Firefox (chưa được thử nghiệm trong IE hoặc Opera). Về cơ bản, bạn có thể giảm một tên miền phụ xuống một trong các miền siêu (ngoại trừ TLD) cho các mục đích bị ảnh hưởng bởi Chính sách gốc tương tự. Nó không thay đổi vị trí của trang. – user113716
Đó là chính xác những gì nó cho. Nó chỉ hữu ích khi bạn thay đổi nó. –
@Tim: Cái này mới đối với tôi. Bạn có biết phải tắt tay nếu nó được hỗ trợ tốt trong IE như một tài sản không sẵn sàng? Nếu không, tôi sẽ kích hoạt VMWare một chút và kiểm tra nó. – user113716