Bạn đang đúng, những gì bạn muốn sẽ bị chặn bởi trình duyệt do an ninh lý do (cùng một chính sách gốc).
Những gì bạn có thể làm:
Nạp lại dưới hình thức trong iframe và vượt qua nó các dữ liệu bạn nhận được từ các js sdk, bạn thậm chí có thể POST dữ liệu vào iframe (như facebook không với các ứng dụng canvas).
Bạn sẽ có thể thay đổi vị trí của khung nội tuyến, nhưng chỉ phần băm (đoạn) sẽ không khiến khung nội tuyến tải lại.
Trong khung nội tuyến, hãy lưu ý các thay đổi về vị trí và trích xuất dữ liệu từ đoạn.
Vấn đề là phương pháp này có thể sẽ gây rối với lịch sử trình duyệt.
Tìm giải pháp khác cho giao tiếp tên miền chéo, có thể easyXDM?
Sửa
Dưới đây là hai triển khai các tùy chọn đầu tiên:
1) Sử dụng GET
<iframe id="userform"></iframe>
<script type="text/javascript">
// load and init FB JS SDK
FB.api("me", function(response) {
document.getElementById("userform").src = USER_FORM_URL + "?name=" + response.name;
});
</script>
2) Sử dụng POST vào iframe
<form method="POST" action="USER_FORM_URL" target="userform" id="postForm">
<input type="hidden" name="fbResponse" id="fbResponseInput" />
</form>
<iframe name="userform"></iframe>
Sau đó, trên khung nội tuyến, hãy lấy dữ liệu (từ GET hoặc POST) và hiển thị biểu mẫu người dùng tương ứng.
<script type="text/javascript">
// load and init FB JS SDK
FB.api("me", function(response) {
document.getElementById("fbResponseInput").value = JSON.stringify(response);
document.getElementById("postForm").submit();
});
</script>
Nguồn
2012-05-29 07:38:04
Chỉ cần để kiểm tra xem tôi có quyền này: Bạn có một ứng dụng trang đó được lưu trữ từ miền dX, trong trang đó (PA), bạn muốn tải một trang khác (Pb, với một hình thức) đó là cũng được phân phát từ miền dX trong iframe, cho đến thời điểm này? Nếu vậy, từ nơi nào bạn muốn thực hiện cuộc gọi api? pA, pB hoặc cả hai? Ngoài ra, trong cài đặt ứng dụng, miền ứng dụng được đặt thành dX? –
Phủ định. pB, với một biểu mẫu được phân phát từ miền dZ trong khung nội tuyến. Tôi muốn thực hiện cuộc gọi API thông qua FB Javascript SDK trong pA để cập nhật biểu mẫu (chi tiết người dùng) trong pB. Cá nhân, tôi không nghĩ rằng nó có thể như nó âm thanh như một vấn đề an ninh rất lớn nếu tôi có thể. Nhưng tôi chỉ muốn kiểm tra lại điều này trên SO. – super9
Bạn cũng nên kiểm tra lại xem những gì bạn đang cố gắng làm không vi phạm chính sách nền tảng, ít nhất là do chuyển dữ liệu sang tên miền/trang web khác và/hoặc do dữ liệu biểu mẫu được tạo dựa trên các chi tiết được truy xuất từ API của Facebook. –