欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

利用JS代碼自動刪除稿件的普通彈幕功能

 更新時間:2019年09月20日 08:37:56   作者:吳杰聰  
這篇文章主要介紹了js代碼自動刪除稿件的普通彈幕功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下

事情的起因是在b站投稿了一個高級彈幕測試的視頻(av9940487),但是由于b站的彈幕池機(jī)制是新的彈幕頂?shù)襞f的彈幕,所以導(dǎo)致一些人發(fā)的高級彈幕很快就被頂?shù)袅恕?/p>

所以就想著寫個腳本來自動刪除屬性為普通的彈幕,語言用的是javascript,在chrome的控制臺就可以執(zhí)行這個腳本。

1.刪除彈幕的流程分析

判斷彈幕A是否為普通彈幕,是則選中。

點擊刪除彈幕的按鈕,彈出二次確認(rèn)框。

點擊確定,成功刪除。

2.刪除彈幕相關(guān)的html代碼,js代碼2.1 選中

可通過判斷class屬性為"item-front"的標(biāo)簽里是否包含“高級”兩個字來決定是否勾選該彈幕:

document.getElementsByClassName("item-font")[i].innerHTML.match("高級")
getElementsByClassName("bili-checkbox")[i+1].click()

這里i+1是由于有其他標(biāo)簽也使用了“bili-checkbox”屬性。

2.2

用click函數(shù)觸發(fā)點擊“刪除彈幕”按鈕的操作:

document.getElementsByClassName("dele-btn")[0].getElementsByClassName("plain")[0].click();

點擊二次確認(rèn)框:

for (i = 0; i < document.getElementsByClassName("item-attr").length; i++) {  if(!document.getElementsByClassName("item-font")[i].innerHTML.match("高級")){    document.getElementsByClassName("bili-checkbox")[i+1].click();  }}document.getElementsByClassName("dele-btn")[0].getElementsByClassName("plain")[0].click();document.getElementsByClassName("bili-btn")[2].click();

但是由于控制臺執(zhí)行js的代碼速度過快,會導(dǎo)致在執(zhí)行到第7行代碼的時候,class屬性為“bili-btn”的第3個標(biāo)簽還沒加載出來,所以要在執(zhí)行第7個語句之前讓其停頓一下。

利用setTimeout()方法可實現(xiàn)延遲執(zhí)行

setTimeout(function () {document.getElementsByClassName("bili-btn")[2].click(); }, 1000);

setTimeout("document.getElementsByClassName(\"bili-btn\")[2].click()",1000);

至此,只實現(xiàn)了單頁面的批量刪除1次,但是我們知道,假設(shè)彈幕有N頁,就必須讓以上代碼不斷運行,直到第x頁不包含普通彈幕,然后跳轉(zhuǎn)至第x+1頁繼續(xù)執(zhí)行以上刪除代碼。

3. 實現(xiàn)不斷刷新頁面,當(dāng)刪除完當(dāng)前頁的普通彈幕時,自動跳轉(zhuǎn)至下一頁

結(jié)合另一篇文章即可實現(xiàn):https://www.cnblogs.com/wujiecong/p/11549738.html

var timeout = prompt("設(shè)置刷新時間");
var current = location.href;
var page = 0;
var count = 0;
if(timeout > 0)
{
  setTimeout('reload()', 1000 * timeout);
}
else
{
  location.replace(current);
}

function reload()
{
  setTimeout('reload()', 1000 * timeout);
  if(count<10){
    const regex = /pn=(\d+)/;
    page = page +1;
  current = current.replace(regex,"pn="+page.toString())
  }  
  var frame = '<frameset cols=\'*\'>\n<frame src=\'' + current + '\' /></frameset>';
  with(document)
  {
    // 引用document對象,調(diào)用write方法寫入框架,打開新窗口
    write(frame);
      setTimeout(function(){
    count = 0
    getFrames = window.frames["0"]
    for (i = 0; i < getFrames.document.getElementsByClassName("item-attr").length; i++) {
      if(!getFrames.document.getElementsByClassName("item-font")[i].innerHTML.match("高級")){
        getFrames.document.getElementsByClassName("bili-checkbox")[i+1].click();
        count = count +1;
      }
    }
    if(count>0){
      getFrames.document.getElementsByClassName("dele-btn")[0].getElementsByClassName("plain")[0].click();
      setTimeout(function () {
        getFrames.document.getElementsByClassName("bili-btn")[2].click(); 
      }, 1000);
    }},2000);
    
   // 關(guān)閉上面的窗口
    void(close());
  };
}

總結(jié)

以上所述是小編給大家介紹的利用JS代碼自動刪除稿件的普通彈幕功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

相關(guān)文章

  • 微信小程序自定義底部、頂部、中間、左邊及右邊彈窗

    微信小程序自定義底部、頂部、中間、左邊及右邊彈窗

    這篇文章主要給大家介紹了關(guān)于微信小程序自定義底部、頂部、中間、左邊及右邊彈窗的相關(guān)資料,彈窗是小程序中非常重要的一種互動方式,比如用戶注冊時錯誤提示、優(yōu)惠券領(lǐng)取提示、簽到成功提示等等,需要的朋友可以參考下
    2023-11-11
  • 小程序使用wxs解決wxml保留2位小數(shù)問題

    小程序使用wxs解決wxml保留2位小數(shù)問題

    這篇文章主要介紹了小程序使用wxs解決wxml保留2位小數(shù)問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • JavaScript 新手24條實用建議[TUTS+]

    JavaScript 新手24條實用建議[TUTS+]

    本文列出了24條能讓你的代碼編寫過程更為輕松高效的建議。也許您還是JavaScript初學(xué)者,剛剛寫完自己的Hello World,那這里有很多對您的工作將十分有用的小貼士;也許有些技巧您已經(jīng)知道,那就試試快速瀏覽一下,看能不能發(fā)現(xiàn)一點新東西吧!
    2009-06-06
  • 微信小程序tabBar底部導(dǎo)航中文注解api詳解

    微信小程序tabBar底部導(dǎo)航中文注解api詳解

    這篇文章主要為大家詳細(xì)介紹了微信小程序tabBar底部導(dǎo)航中文注解api,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaScript命令模式原理與用法實例詳解

    JavaScript命令模式原理與用法實例詳解

    這篇文章主要介紹了JavaScript命令模式原理與用法,結(jié)合實例形式詳細(xì)分析了JavaScript命令模式基本概念、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-03-03
  • javascript點擊按鈕實現(xiàn)隱藏顯示切換效果

    javascript點擊按鈕實現(xiàn)隱藏顯示切換效果

    這篇文章主要介紹了javascript點擊按鈕實現(xiàn)隱藏顯示切換效果,以一個完整的實例為大家分析了js點擊按鈕實現(xiàn)隱藏顯示切換的功能,感興趣的小伙伴們可以參考一下
    2016-02-02
  • TypeScript中的函數(shù)

    TypeScript中的函數(shù)

    這篇文章主要介紹了TypeScript中的函數(shù),一般JavaScript中的函數(shù)定義常用的有使用function關(guān)鍵字聲明函數(shù)、使用字面量方式聲明函數(shù)、使用箭頭函數(shù)聲明函數(shù)等幾種函數(shù),下面我們大家就一起進(jìn)入文章了解這些函數(shù)的具體定義吧,需要的朋友可以參考一下
    2021-12-12
  • 幾種tab切換詳解

    幾種tab切換詳解

    本文主要分享了幾種tab切換的示例代碼。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • JavaScript中的DOM遍歷詳解

    JavaScript中的DOM遍歷詳解

    文檔對象模型 (DOM) 表示 HTML 文檔的結(jié)構(gòu),導(dǎo)航或“遍歷”此結(jié)構(gòu)是 Web 開發(fā)的基本方面,使開發(fā)人員能夠在網(wǎng)頁上選擇、修改、刪除或添加內(nèi)容,本文深入研究了使用 JavaScript 進(jìn)行 DOM 遍歷的藝術(shù),提供了一個強(qiáng)大的工具包來處理各種遍歷場景
    2023-09-09
  • 微信小程序?qū)崿F(xiàn)選項卡的簡單實例

    微信小程序?qū)崿F(xiàn)選項卡的簡單實例

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)選項卡的簡單實例,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07

最新評論