Tôi chỉ tò mò nếu có thể các đối tượng Flash có thể truy cập DOM của tài liệu đã nhúng nó.Đối tượng Flash nhúng có thể truy cập DOM của tài liệu gốc của nó không?
Trả lời
Có, thông qua lớp ExternalInterface.
Bạn có thể thực hiện cuộc gọi tới Javascript từ bên trong phim Flash và lấy lại bất kỳ thông tin công khai nào về trang mà trái tim bạn mong muốn.
Phụ Lục
Nhìn vào này một năm rưỡi sau đó, tôi quyết định thêm một số ví dụ:
Giả sử bạn có một hàm JS trên trang khách hàng của bạn như thế này:
function foo(bar,type) {
// do something with bar and type
}
Bạn gọi từ Flash (sử dụng AS3) như sau:
ExternalInterface.call(foo, bar, type);
Lưu ý rằng tên hàm là đối tượng đầu tiên và các đối số được liệt kê tuần tự sau đó.
Để phơi bày một phương pháp của Flash movie ra ngoài Javascript, bạn sẽ làm điều này trong Flash hoặc Flex (một lần nữa, AS3):
application1_applicationCompleteHandler(event:Event) {
// the app has finished loading, so do whatever we
// have to do on load, plus add that callback
ExternalInterface.addCallback(foo, bar);
}
public function bar(arg1, arg2) : void {
// do something with arg1 and arg2
}
Trong javascript trên trang bạn gọi nó như thế này (nơi myMovie là ID của các SWF):
myMovie.foo(anArg, anotherArg);
trong phương pháp addCallback
, đối số đầu tiên là tên bên ngoài của hàm, và đối số thứ hai là việc đóng cửa sẽ được gọi.
Không phải là tôi biết, nhưng họ có thể thực thi javascript trong tài liệu có chứa, mà rõ ràng là sau đó có thể truy cập vào bản thân DOM.
Nếu tôi có một số cuộc gọi AJAX trong tài liệu gốc, tôi có thể liên lạc với đối tượng Flash bằng cách nào đó không? – devviedev
Có.
Ví dụ: http://livedocs.adobe.com/flex/3/html/help.html?content=ProgrammingHTMLAndJavaScript_07.html
Như tôi đã hiểu, ví dụ đó chỉ dành cho các ứng dụng AIR và không thể sử dụng trong các trình duyệt web thông thường. Vì vậy, các câu trả lời khác, đề xuất sử dụng ExternalInterface, có lẽ phù hợp hơn, trừ khi devviedev đang phát triển một ứng dụng AIR. –
- 1. Truy cập đối tượng tài liệu của khung bằng JavaScript
- 2. Tôi có thể di chuyển đối tượng Flash trong DOM mà không cần tải lại không?
- 3. Người lập chỉ mục của một đối tượng có thể truy cập được bằng TypeDescriptor của nó không?
- 4. C++ delete - Nó xóa các đối tượng của tôi nhưng tôi vẫn có thể truy cập dữ liệu?
- 5. Truy cập đối tượng DOM sau khi gọi AJAX?
- 6. Truy cập đối tượng DOM của cửa sổ mẹ từ jQuery DOMWindow được tải bằng iFrame
- 7. Truy cập dữ liệu gốc của DataContext từ DataTemplate
- 8. Truy cập đối tượng DOM tab hiện tại từ "popup.html"?
- 9. Tọa độ tài liệu jQuery x y của đối tượng DOM
- 10. Lấy cây DOM của tài liệu XML
- 11. Đối tượng truy cập dữ liệu PHP
- 12. Tôi làm cách nào để có thể tham chiếu đối tượng DOM tương ứng của đối tượng <HTML>?
- 13. Cách truy cập các đối tượng javascript của khung nội tuyến từ trang gốc?
- 14. Mongoose không cập nhật tài liệu được nhúng
- 15. Mongoose tài liệu nhúng cập nhật
- 16. Không thể truy cập Biểu tượng tài nguyên android/drawable
- 17. Có thể mô hình truy cập động cơ Rails 3 từ ứng dụng gốc của nó không?
- 18. Tập lệnh nội dung Tiện ích mở rộng của Chrome không truy cập DOM của trang mà nó được tiêm
- 19. Tôi có thể gọi xóa trên tài liệu gốc không?
- 20. javascript đối tượng truy cập hiệu suất
- 21. Làm thế nào để cập nhật giá trị của tài liệu nhúng cụ thể, bên trong một mảng, của một tài liệu cụ thể trong MongoDB?
- 22. C# không thể truy cập đối tượng được xử lý
- 23. Truy cập các thuộc tính của một mảng đối tượng
- 24. Không thể truy cập lỗi đối tượng được xử lý
- 25. Tại sao _ViewStart.cshtml không thể truy cập đối tượng ViewBag?
- 26. Không thể truy cập thuộc tính đối tượng, mặc dù nó tồn tại. Trả về undefined
- 27. Cách tạo trình phát âm thanh có thể nhúng của riêng tôi // không phải flash thuần túy
- 28. Tài liệu đối tượng yêu cầu của Node.js?
- 29. Không thể truy cập phương thức của lớp đồng hành từ đối tượng đồng hành
- 30. "Không thể truy cập đối tượng được xử lý"
cách nhận thuộc tính từ đối tượng dom? Ví dụ: '
'? Làm thế nào để tôi có được thuộc tính dữ liệu? – Sisir