2012-06-26 34 views
5

Tôi muốn tải nội dung của một trang nằm trong một thư mục khác (ví dụ: "files/pages/example.html") cho vùng chứa div bằng cách nhấp vào nút trong jQuery Mobile!Tải trang vào một div jQuery Mobile

Cách thực hiện?

<div data-role="page"> 
    <div id="container" data-role="content"><button id="clickButton">Click me!</button></div> 
</div> 
+0

Tôi có một câu hỏi. Bạn đang thử nghiệm trong trình duyệt? nếu không, bạn có thêm support.cors và allowCrossDomainPages không? – Th0rndike

Trả lời

1

Các $ .mobile.loadPage là phương pháp mà bạn cần. Nó cho phép bạn tải một tập tin html bên ngoài và chèn nó vào dom. Mặc định cho phương thức này là tải nó như một trang toàn bộ, vì vậy bạn phải chỉ định các tùy chọn để tải nó vào một phần tử dom. Đây là ví dụ (và chưa được kiểm tra) mã:

$('#clickButton').on("click",function(){ 
    $.mobile.loadPage("theURLofThePage",{pageContainer: $('#container')}) 
}); 

bây giờ, đừng quên vấn đề bảo mật crossDomain. Tôi quản lý để làm công việc này trong firefox bằng cách thêm:

$("#landingPage").live('pageinit', function() { 
      jQuery.support.cors = true; 
      $.mobile.allowCrossDomainPages=true; 
     }); 

Ngoài ra, các trang web mà bạn đang tải phải được bọc trong một dữ liệu role = trang div (giả sử nó có id = 'secondpage'). Sau khi tải, kích hoạt trên dữ liệu role = trang với id = secondpage div:

$('#secondPage").trigger('pagecreate'); 
+0

Tôi đã thử nhưng không tải trang. –

+0

và điều gì đã xảy ra? mã của đâu? bạn đã gặp lỗi gì? Đây là cách làm tiêu chuẩn, nếu nó không hoạt động thì có lỗi trong mã của bạn, nhưng dĩ nhiên tôi (và cộng đồng SO) không thể giúp bạn nếu bạn không cho chúng tôi biết bạn đã thử cái gì vấn đề bạn tìm thấy trên đường đi. – Th0rndike

+0

Tôi xin lỗi. Tôi đã thử mã mà tôi đã cung cấp ở đầu bài viết và mã jQuery của bạn để tải trang (chỉ cần di chuyển từ .on sang .live và thêm một ';' ở phần cuối của hàm loadPage). Không có lỗi (sử dụng các iO giả lập) và không làm gì cả! Tôi đã thử làm một "alert ((" # container ") html())" sau khi loadPage chức năng nhưng cảnh báo nói rằng div #container là trống rỗng (không hiển thị bất cứ điều gì trên cảnh báo). –

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