10/10/2018, 09:54

Hỏi cách detect flashblock trong firefox

Chào các bạn !
Mình muốn hỏi có cách nào chúng ta biết được là trình duyệt của người dùng ( cụ thể là firefox ) có cài add on chặn flash ( flash block ) không ?

Mục đích :
Vì mình tính muốun làm banner trang web bằng flash nhưng nếu người dùng chặn flash lại thì nhìn trang web ..... Nên mình muốn biết họ có chặn không, nếu có sẽ thay bằng file hình ! ( nếu chặn hình luôn thì thôi chịu :-s )
Nếu chuyển flash đó thành gif thì thú thật là nhìn cái flash của mình nó xấu quá !
Mong mọi người giúp đỡ !
Cám ơn !
thuyduongcd viết 12:10 ngày 10/10/2018
Code:
<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
CODEBASE="http://active.macromedia.com/flash/cabs/swflash.cab#version=3,0,0,11"
WIDTH="220" HEIGHT="110" NAME="sw" ID="sw">
<PARAM NAME="Movie" VALUE="flash_movie">
<PARAM NAME="quality" VALUE="high">
<PARAM NAME="Loop" VALUE="true">
<PARAM NAME="play" VALUE="true">

<SCRIPT LANGUAGE="JavaScript">
// kiểm tra trình duyệt hỗ trợ flash hay không
if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]){
   //...hỗ trợ thì chèn lash
   document.write('<EMBED SRC="flash_movie.spl" WIDTH="220" HEIGHT="110" LOOP="true" QUALITY="high">');
}
//không hỗ trợ flash, thay bằng hình
else {
   document.write('<IMG SRC="imagesource" WIDTH="220" HEIGHT="110" ALT="Non-Shockwave Welcome">');
}
</SCRIPT>
</OBJECT>
jiSh@n viết 12:01 ngày 10/10/2018
Thêm cái tag <noscript></noscript> nữa vì nếu có NoScript thì nó chặn tất tần tật đấy
trinhdiep viết 12:05 ngày 10/10/2018
oh, tui vẫn chặn banner nè. chưa thấy website nào là không chặn được cả.
hoathuan88 viết 12:09 ngày 10/10/2018
Cám ơn các bạn !
Nhưng về đoạn code này thì chỉ có tác dụng nếu như máy mình không hỗ trợ flash! Còn trường hợp của mình là muốn giúp đỡ là máy người dùng hỗ trợ flash mà người dùng lại không muốn xem flash đó ! -> Mình sẽ thay bằng hình tĩnh của mình thay vì để addon flashblock nó thay bằng button có chữ f!

Như ở VD này mình dùng đoạn code bên dưới !

http://nguyenhoathuan.summerhost.info/test/test.htm
Thì flashblock nó vẫn chặn và không có hình thay thế show ra !

Code:
<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" 
CODEBASE="http://active.macromedia.com/flash/cabs/swflash.cab#version=3,0,0,11"
WIDTH="220" HEIGHT="110" NAME="sw" ID="sw">
<PARAM NAME="Movie" VALUE="flash_movie">
<PARAM NAME="quality" VALUE="high">
<PARAM NAME="Loop" VALUE="true">
<PARAM NAME="play" VALUE="true">

<SCRIPT LANGUAGE="JavaScript">
// kiểm tra trình duyệt hỗ trợ flash hay không
if (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]){
   //...hỗ trợ thì chèn lash
   document.write('<EMBED SRC="flash_movie.spl" WIDTH="220" HEIGHT="110" LOOP="true" QUALITY="high">');
}
//không hỗ trợ flash, thay bằng hình
else {
   document.write('<IMG SRC="imagesource" WIDTH="220" HEIGHT="110" ALT="Non-Shockwave Welcome">');
}
</SCRIPT>
</OBJECT>
Còn về tag <noscript> nói thật là mình chưa biết dùng sao , vì được biết là nó dùng khi các trình duyệt không thể xử lý được các script hoặc khi người dùng tắt chức năng hỗ trợ <script> của trình duyệt. ( không biết đúng không ).
Theo như ý tưởng của bạn thuyduongcd thì mình cần làm sao biết được trình duyệt có flashblock đang dc bật !
Các bạn tiếp tục giúp dùm mình với !
Cám ơn !
thuyduongcd viết 12:07 ngày 10/10/2018
Nếu người dùng chặn thì chịu thôi. Trình duyệt ưu ái người dùng hơn là dân lập trình Chỉ có 1 cách là hiện ra 2 nút cho người ta lựa chọn. Chọn view flash version thì load flash, view image version thì load image.

P.S: Chặn quảng cáo không chỉ có mỗi flashblock làm sao mà kiểm soát nổi.
trinhdiep viết 12:00 ngày 10/10/2018
Tui nghĩ bạn cứ đặt banner hợp lý thì không ai chặn làm gì.
hoathuan88 viết 12:05 ngày 10/10/2018
Cám ơn bạn đã góp ý ! Nhưng thường thì người dùng chặn trước khi họ xem và quyết định rằng nó có hợp lý hay không. Với lại mình không phải đặt flash quảng cáo đâu bạn ơi. Mà người dùng chặn là quyền của họ mình không có ý định can thiệp vào trình duyệt, chỉ là thay bằng tấm hình khác cho đỡ xấu thôi!
Bài liên quan
0