2010-02-13 59 views
10

Tôi đang cố gắng tìm hiểu điều này, nhưng không có nhiều thông tin. Những trình duyệt nào hỗ trợ E4X và tại sao nó không được chấp nhận rộng rãi hơn?Hỗ trợ trình duyệt E4X

Trả lời

3

Theo w3schools, "Firefox hiện là trình duyệt duy nhất có hỗ trợ tương đối tốt cho E4X."

Thay vào đó, bạn có thể thử XPath. Mặc dù XPath không phải là trình duyệt chéo nhưng có một số giải pháp Javascript cho nó giống như this jQuery plugin.

EDIT

Bạn thực sự có thể sử dụng jQuery mà không cần plugin cho việc này:

$('<xml><some><code>code</code><tag>text</tag></xml></xml>').find('some > code').text() 
10

có trình duyệt hỗ trợ E4X

Firefox và những người khác dựa trên cơ sở mã Mozilla.

tại sao nó không được áp dụng rộng rãi hơn?

Vì nó cung cấp ít chức năng thực tế chưa được bao gồm bởi các tiêu chuẩn hiện có như DOM. OK, nó đơn giản hơn để sử dụng hơn DOM, nhưng là giá mà bạn không có quyền truy cập vào tất cả các tính năng của XML, và cú pháp/mẫu XML vô nghĩa ngu ngốc, vô nghĩa là security disaster, làm cho nó trở thành các tác giả của các tài liệu được bảo vệ hoàn toàn tĩnh htaccess phải lo lắng về việc làm việc xung quanh tính năng này.

Là một phương pháp đơn giản để truy cập các kết quả của XMLHttpRequest, JSON hoàn toàn thắng. Để xử lý XML đầy đủ, bạn vẫn cần DOM. Để xử lý tài liệu dễ dàng hơn, có các bộ chọn, các thư viện XPath và JS có thể làm điều đó mà không cần phải giới thiệu cú pháp ngôn ngữ mới lạ.

Điều đó không để lại nhiều điểm thích hợp cho E4X. TBH Tôi ước nó sẽ chết. (ETA: nó hiện đã thực hiện khá nhiều như vậy.)

+1

Tôi quen với e4x trong flash và đã tự hỏi tại sao nó không được hỗ trợ bên ngoài Firefox. Cảm ơn và +1. – Amarghosh

+0

E4X là cú pháp thực sự hữu ích. Cách bạn mô tả nó bạn muốn tranh luận RegExp là khủng khiếp là tốt. Họ phục vụ mục đích của họ. Một thứ khác khiến tôi lo lắng vì tôi đang ranting, đó là lý do tại sao chỉ có một cách để làm việc đó? Tại sao tôi không thể chọn sử dụng XML thay vì buộc phải sử dụng JSON? Tôi sử dụng cả hai btw. Đây là những gì tôi không thích về cộng đồng web ngay bây giờ. Ngoài ra, @bobince liên kết bạn đăng lên không còn hợp lệ nữa. :( –

+0

Đã cập nhật liên kết sau khi lưu trữ Google Code.Và vâng, tôi tin rằng cú pháp chữ của JS RegExp cũng là một sai lầm, mặc dù một cú pháp không có tác động tiêu cực giống như E4X đã có. Vấn đề bạn không có regex literals chủ yếu là lớp thêm dấu gạch chéo ngược- bạn cần phải đặt chúng trong một chuỗi chữ. Các ngôn ngữ khác đã giải quyết vấn đề này theo cách tổng quát và linh hoạt hơn với định dạng chuỗi ký tự 'thô'. – bobince

3

Firefox dropped E4X support trong phiên bản 16:

E4X bị phản đối. Nó sẽ bị tắt theo mặc định cho nội dung trong Firefox 16, được tắt theo mặc định cho chrome trong Firefox 17 và bị loại bỏ trong Firefox 18. Sử dụng DOMParser/DOMSerializer hoặc một thuật toán JXON không phải là bản địa thay thế.

Các vấn đề liên quan