根据关键字过滤 smzdm 条目的小脚本(另外请教一些 userscript 问题)

2015-03-09 09:55:43 +08:00
 wandero

代码盲,照着 @P233 的 又一个 V2EX userscript (再次感谢) 和 w3s 的 js 教程 山寨了一个 smzdm 的过滤器

功能

隐藏标题或标签中包含指定关键字的条目(空格键触发)

问题

  1. 脚本最开始用的 $(document).ready(function() 触发,但张大妈有自动翻页功能,自动加载的内容无法生效。所以之后加了空格键触发的代码,这样在用空格键滚动页面的同时会对自动加载内容生效。请问这种思路有没有更好的实现方式?
  2. 请问js里选择器有没有像 css 里的 " #div1, #div2 " 这种语法
  3. 这段代码我是在 tampermonkey 里新建的,尝试复制和导出的脚本无法再加载回 tm 里了,请问是哪里出了问题
  4. 为什么 js 代码里有的地方用 });,有的地方用 };
  5. 这段代码语法检查第一个$好像报错了,这个是怎么回事?

不好意思,问题都比较小白,google 也没什么线索

代码

// ==UserScript==
// @name       Smzdm Filter
// @namespace  
// @version    0.0.1
// @description  
// @match      http://www.smzdm.com/youhui/*
// ==/UserScript==

// 添加关键字
var block = /关键字1|关键字2|关键字n/;



$(document).ready(function(){
    $('.lrTop>span>a').each(function() {
        var tag = $(this).text();
        if (tag.search(block) >= 0) {
            $(this).parentsUntil('.leftWrap').hide();
        }
    });
    $('.itemName>a').each(function() {
        var tag = $(this).text();
        if (tag.search(block) >= 0) {
            $(this).parentsUntil('.leftWrap').hide();
        }
    });
});



$(document).keypress(function(e) {  
    if(e.which == 32) {  
        $('.lrTop>span>a').each(function() {
            var tag = $(this).text();
            if (tag.search(block) >= 0) {
                $(this).parentsUntil('.leftWrap').hide();
                $('.itemName>a').each(function() {
                    var tag = $(this).text();
                    if (tag.search(block) >= 0) {
                        $(this).parentsUntil('.leftWrap').hide();
                    }
                });
            }
        });
    }  
});
2038 次点击
所在节点    问与答
5 条回复
wandero
2015-03-09 10:02:58 +08:00
@P233

主贴无法@人?……
kingwrcy
2015-03-09 10:07:59 +08:00
1.js的事件委托
2.有,使用querySelector或者querySelectorAll
3.不知道
4.一般直接写匿名回调函数会用});,建议你看看javascript的闭包,匿名函数.
5.看起来是没引入jquery库
wandero
2015-03-09 11:09:24 +08:00
@kingwrcy 非常感谢,好像都比较复杂的样子,要好好(慢慢)研究……
kokdemo
2015-03-09 11:14:29 +08:00
@wandero 插件大法好,少年快来加入写插件的队伍把
wandero
2015-03-09 11:20:32 +08:00
@kokdemo 根据自己的想法改造页面是很赞啊,(特别是东拼西凑的代码居然能生效……)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/175468

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX