2009-01-14 34 views
5

Trong trang HTML của tôi, tôi cần kiểm tra xem trình phát Adobe Flash đã được cài đặt chưa. Nếu không, tôi muốn tự động chuyển sang một trang HTML khác để cho người dùng biết rằng trình phát Flash là bắt buộc.Nhảy tới trang HTML mới có JavaScript

Tôi đang sử dụng JavaScript để kiểm tra xem trình phát Flash có khả dụng hay không bằng cách sử dụng 'JavaScript Flash detection library'.

Phần nội dung của trang HTML của tôi trông như thế này:

<body> 
    <script type="text/javascript"> 
    if(!FlashDetect.installed) 
    { 
     alert("Flash 9.0.115 is required to enjoy this site."); 
    } 
    </script> 
    ... 
    ... 

Các phát hiện đang làm việc: Tôi có thể nhìn thấy cảnh báo, nhưng tôi đã không tìm thấy một cách để nhảy đến một trang HTML.

Bất kỳ gợi ý nào?

Chỉnh sửa: Có điều tôi không đề cập đến có vẻ khác biệt: các trang HTML là các trang địa phương (chạy từ CD-ROM) và tôi muốn chuyển đến trang HTML nằm trong thư mục hiện tại.

+1

Điều gì sẽ xảy ra khi ai đó muốn sử dụng trang web thay vì thưởng thức và không có trình phát flash? – bandi

Trả lời

19
window.location.href = "http://stackoverflow.com"; 

Đối với tập tin địa phương này nên làm việc nếu bạn biết đường dẫn tương đối: (. Trong trường hợp của bạn hoạt động này)

window.location.href = "someOtherFile.html"; 

Có lẽ bạn cũng có thể làm điều đó tuyệt đối sử dụng này: (. Không thử nghiệm)

window.location.pathname = "/path/to/another/file.html/"; 

Vấn đề là biện pháp bảo mật của nhà cung cấp trình duyệt. Google có một số good information về việc đó.

+0

+1 An toàn hơn so với vị trí tài liệu mặc dù tôi luôn quên rằng bản thân mình – annakata

+0

Tôi không biết có điều đó. ;) (An toàn bởi sự thiếu hiểu biết) –

+0

Đó là loại trường cũ, có lẽ đồng nghĩa với không an toàn: P – annakata

4

Hãy cảnh giác với các chuyển hướng JavaScript ngay lập tức. Các tập lệnh phát hiện flash có thể sai (*) vì vậy tốt nhất là cho phép người dùng tự quyết định Flash bằng một số loại ghi đè thủ công hoặc chỉ đơn giản là sử dụng nội dung dự phòng.

Ghi vào vị trí.href hoạt động nhưng có thể "phá vỡ nút quay lại" - nếu người dùng nhấn Quay lại và trang của bạn sẽ chuyển hướng họ về phía trước một trang nữa thì có vẻ họ không hài lòng. location.replace ('...') tránh được sự cố này.

(* - có hai cách tiếp cận để phát hiện Flash, không phải là hai cách đáng tin cậy. Tạo một trường hợp Flash và đánh hơi cho nó vỡ với phần mềm như FlashBlock hoặc tải chậm, và đánh hơi trực tiếp plugin không được chuẩn hóa và có khả năng phá vỡ Các mã riêng của Adobe tại số http://www.adobe.com/devnet/flashplayer/articles/future_detection_print.html kết thúc bằng việc đánh hơi chuỗi UA, ugh.)

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