2012-04-26 35 views
11

Đây là dự án thứ hai của tôi bằng cách sử dụng Địa chỉ jQuery, và tôi nghĩ có điều gì đó kỳ lạ với Firefox, hoặc ít nhất tôi có thể nhận ra rằng nó có một hành vi khác trong Firefox và Webkit.Địa chỉ jQuery thông thường là lỗi trong Firefox?

Khi liên kết sâu, Địa chỉ jQuery sẽ kích hoạt sự kiện thay đổi và thực thi đoạn mã JavaScript liên quan đến trạng thái này.

Đối/foo/bar liên kết sâu, nếu tôi viết ra các đối tượng sự kiện vào giao diện điều khiển, trong Google Chrome, Tôi có hai sự kiện sa thải:

jQuery.Event # 1

path: "/" 
pathNames: Array[0] 
queryString: "" 
timeStamp: 1335431580471 
type: "change" 
value: "/" 

jQuery.Event # 2

path: "/foo/bar" 
pathNames: Array[2] 
queryString: "" 
timeStamp: 1335431580471 
type: "change" 
value: "/foo/bar" 

Nhưng trong Firefox, tôi chỉ có một sự kiện bị sa thải, mà không mất i n chiếm URI hiện tại:

jQuery.Event # 1

path: "/" 
pathNames: Array[0] 
queryString: "" 
timeStamp: 1335431580471 
type: "change" 
value: "/" 

Vì vậy, rõ ràng là trong Firefox các hộp đèn mà tôi muốn mở cho/foo/bar URI là không bao giờ mở :-(

đây là mã của tôi cho địa chỉ jQuery:

$.address.crawlable(1).state('/').change(function(event) { 
    var page = event.path; 
    if (page == '/foo/bar'){ 
     openLightbox($('#create-popup-template').html()); 
     create_main(); 
    } 
});  

để bây giờ tôi đang sử dụng một cách giải quyết đơn giản để làm cho nó làm việc trong Firefox, chỉ cần thêm một init fu nction để buộc một sự kiện thay đổi thứ hai trong Firefox:

$.address.init(function(){ 
    if ($.browser.mozilla) 
     $.address.value(window.location.pathname); 
}); 

Nhưng đây là lần thứ hai tôi phải làm điều này và không cảm thấy đúng .. Tôi có thiếu thứ gì đó không?

Tôi cũng đã cố gắng để mess up với những thay đổi bên trong và bên ngoài callbacks, không có cơ hội ..

Cảm ơn vì đã giúp,

Thomas.

Trả lời

0

Tôi sử dụng plugin jQuery Adual plugin 1.6 mà bạn có thể tìm thấy ở đây: enter link description here chứ không phải trên trang web Asual.

Trong phiên bản này, họ đã xóa tính năng có thể thu thập thông tin (nhưng có thể được Google thu thập thông tin). Ngoài ra, bạn có thể nén nó với http://refresh-sf.com/yui/

Vì vậy, nó có thể là lỗi của 1,5 phiên bản

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