整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          瀏覽器窗口彈窗被攔截解決

          近在做項目的時候碰到了使用window.open被瀏覽器攔截的情況, 在本機實驗沒問題, 到了服務器就被攔截了, 火狐有攔截提示, 360瀏覽器攔截提示都沒有, 雖然在自己的環境可以對頁面進行放行,

          另外, 可以發現, 當window.open為用戶觸發事件內部或者加載時, 不會被攔截, 一旦將彈出代碼移動到ajax或者一段異步代碼內部, 馬上就出現被攔截的情況了。

          使用了一個可定制彈出窗口的外觀、尺寸大小、彈出位置以適應該頁面的window.open()方法, 代碼如下:

          <!--
          window.open ('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no')
          //寫成一行
          -->

          參數解釋:

          window.open 彈出新窗口的命令;

          page.html 彈出新窗口的文件名;

          newwindow 彈出窗口的名字(不是文件名), 可用空''代替;

          height=100 窗口高度;

          top=0 窗口距離屏幕上方的像素值;

          left=0 窗口距離屏幕左側的像素值;

          toolbar=no 是否顯示工具欄,yes為顯示;

          menubar,scrollbars 表示菜單欄和滾動欄;

          resizable=no 是否允許改變窗口大小,yes為允許;

          location=no 是否顯示地址欄,yes為允許;

          status=no 是否顯示狀態欄內的信息(通常是文件已經打開),yes為允許;

          原因分析

          當瀏覽器檢測到非用戶操作產生的新彈出窗口, 則會對其進行阻止。因為瀏覽器認為這可能是一個廣告, 不是一個用戶希望看到的頁面。


          解決方案:

          1、使用a標簽替代

          給出如下函數, 將此函數綁定到click的事件回調中, 就可以避免大部分瀏覽器對窗口彈出的攔截:

          function newWin(url, id) {
              var a = document.createElement('a');
              a.setAttribute('href', url);
              a.setAttribute('target', '_blank'); // 這里可以改為top, 防止彈出多個窗口
              a.setAttribute('id', id);
              // 防止反復添加
              if(!document.getElementById(id)) {
                  document.body.appendChild(a);
              }
              a.click();
          }

          2、使用form的submit方法打開一個頁面

          這種方法需要構造一個from, 然后由js代碼觸發form的submit, 將表單提交到一個新的頁面, 如:

          $("#ID").attr('target', '_blank');
          $("#ID").submit();

          大家注意, 以上兩種方法不適合放在ajax的回調函數中, 如果放在回調函數中, 依然會被瀏覽器攔截。


          3、終極解決方案–先彈出窗口, 然后重定向

          第三種方案, 其實是一種變通方案, 核心思想是: 先通過用戶點擊打開頁面, 然后再對頁面進行重定向。示例代碼如下:

          xx.addEventListener('click', function () {
              // 打開頁面,此處最好使用提示頁面
              var newTab=window.open('about:blank');
              ajax().done(function() {
              // 重定向到目標頁面
             newWin.location.href = 'target url';
          });
          });

          以上方法其實是打開了兩個地址, 所以建議大家打開第一個地址的時候給出一個類似'當前頁面正在加載中,請稍后。。'的簡單提示頁, 這樣可以避免打開兩次真正的目標頁面, 讓用戶察覺到頁面的重定向。

          補充:

          JS打開新窗口的2種方式

          1.超鏈接

          <ahref="http://www.xxxxxx.com" title="標題">Hello world</a>

          等效于js代碼

          window.location.href="http://www.xxxxxx.com"; //在同當前窗口中打開窗口


          2.超鏈接

          <a href="http://www.xxxxxx.com" title="標題" target="_blank">Hello world</a>

          等效于js代碼

          window.open("www.xxxxxx.com"); //在另外新建窗口中打開窗口

          3、關閉新窗口:

          HTML中無法完全防止用戶復制文本,因為HTML的主要目的是描述文檔的結構和內容,而不是控制用戶的行為。但是,你可以采取以下一些措施來降低用戶復制的可能性:

          禁用文本選擇:

          你可以使用CSS的user-select屬性禁止用戶選擇文本。例如,可以使用以下代碼來禁止選擇文本:

          使用圖片或Flash替代文本:

          可以使用圖片或Flash來替代文本,這樣用戶將不能復制文本。

          使用JavaScript禁止復制:

          你可以使用JavaScript來禁止用戶復制文本。例如,可以使用以下代碼:

          使用JavaScript對復制行為進行攔截:

          你可以使用JavaScript來攔截用戶的復制行為,然后取消該行為。例如,可以使用以下代碼:

          這將在用戶嘗試復制文本時彈出警告框,并取消復制行為。

          請注意,這些措施可以減少用戶復制文本的可能性,但是不保證完全防止用戶復制。用戶始終可以通過瀏覽器插件或其他技術繞過這些限制。

          個游戲,彈出廣告

          看個新聞,也彈廣告

          聽首音樂,還是彈廣告

          ......

          還能不能好好上網了

          絡彈窗已基本涵蓋網站、瀏覽器、游戲、播放器等絕大部分互聯網產品。據不完全統計,常用軟件中有彈窗廣告行為的軟件達1221個,其中每天彈出廣告數量超過1000次的軟件近500個。與此同時,近年來針對惡意網絡彈窗的投訴也越來越多。有的惡意彈窗強制用戶頻繁點擊廣告、捆綁安裝不明軟件,有的惡意彈窗甚至傳播淫穢色情、虛假詐騙信息和木馬病毒,給大家造成很大的困擾。

          網絡配圖

          碰到這種情況怎么辦?

          此前有關部門就已進行過多次專項治理,如發現惡意網絡彈窗,大家可以隨時向網絡內容主管部門舉報:

          ?1.中國互聯網違法和不良信息舉報中心的舉報電話是12377,舉報網址是www.12377.cn

          ?2.也可以向網站所屬地區的網絡內容管理部門投訴。比如海南屬地網站上的惡意網絡彈窗廣告,就可以向海南網信辦舉報,舉報郵箱是wangxinhainan@qq.com

          除了舉報,還要做這些↓

          此外,我們還要增強自我防護意識,特別是要提高利用技術手段防范惡意網絡彈窗的能力。瀏覽器,以及360安全衛士、騰訊手機管家等安全軟件都有過濾網頁和軟件彈窗廣告的功能。大家可以在網絡上搜索使用辦法或者在相關專業人士指導下使用。

          以下是幾個供參考的辦法:

          1.電腦彈窗廣告如何去除 360安全衛士輕松解決

          http://bbs.360.cn/thread-14860499-1-1.html

          2.Android版騰訊手機管家怎么設置廣告攔截?

          http://kf.qq.com/faq/120322fu63YV130422b2IjyQ.html

          3.iPhone版騰訊手機管家騷擾攔截功能介紹

          http://kf.qq.com/faq/1205112qAreA160913f2qmye.html

          4.如何屏蔽網頁彈出的廣告窗口

          https://jingyan.baidu.com/article/3065b3b6e67dc8becff8a492.html

          5.輕松屏蔽PC端和移動端上的廣告彈窗

          http://blog.sina.com.cn/s/blog_140dc73050102wv8n.html

          來源:網信海南


          主站蜘蛛池模板: 中文字幕一区二区三区日韩精品 | 99国产精品欧美一区二区三区| 色婷婷香蕉在线一区二区| 国产一区二区三区在线| 一区二区三区亚洲| 一区二区视频在线免费观看| 无码乱码av天堂一区二区| 91国在线啪精品一区| 国产精品综合一区二区| 3D动漫精品啪啪一区二区下载| 国产av一区二区三区日韩| 亚洲一区二区精品视频| 国产一区二区在线视频播放| 亚洲日韩中文字幕无码一区| 少妇激情一区二区三区视频| 丰满少妇内射一区| 福利一区在线视频| 在线观看日韩一区| 中文字幕乱码亚洲精品一区| 91精品一区二区| 久久久91精品国产一区二区三区 | 久久国产一区二区| 精品国产不卡一区二区三区| 国产精品一区二区电影| 天天视频一区二区三区| 蜜臀Av午夜一区二区三区| 国产suv精品一区二区33| 国产另类TS人妖一区二区| 久久久久国产一区二区 | 成人免费观看一区二区| 亚洲福利视频一区二区三区| 久久一区不卡中文字幕| 久久se精品动漫一区二区三区| 日韩人妻无码一区二区三区| 97精品国产福利一区二区三区| 久久精品无码一区二区日韩AV | 糖心vlog精品一区二区三区| 亚洲欧美日韩一区二区三区在线| 国产日韩一区二区三区在线播放| 无码人妻精品一区二区蜜桃网站| 久久精品免费一区二区喷潮|