拒绝二维码登录

QQ、支付宝、京东等网站默认使用账号密码登录,不出现二维码登录界面,可自定义设置在指定网站开启和关闭,有需求或问题请反馈。

< Feedback on 拒绝二维码登录

Question/comment

§
Posted: 2024-01-24

开发者你好,脚本在知乎无法使用,单独测试时也无效

xindongfangAuthor
§
Posted: 2024-01-24

访问 https://www.zhihu.com/signin?next=%2F
看下控制台有无 targetNode 的输出

§
Posted: 2024-01-24
Edited: 2024-01-24

有,提示如下

xindongfangAuthor
§
Posted: 2024-01-24

网站是简体中文吗?我是根据“密码登录”这几个字匹配的,因为没有合适的选择器。

§
Posted: 2024-01-24

确实是简中

xindongfangAuthor
§
Posted: 2024-01-24

我之前发的截图里,targetNode 的第一个,div 块里有“密码登录”的字,你看下你的有吗?点击一下那个三角箭头,可能被折叠了。

§
Posted: 2024-01-24
Edited: 2024-01-24

有的,具体位置如图,中间其他位置就没有了,全是null,就没截图

xindongfangAuthor
§
Posted: 2024-01-24

我不确定是否是 Chrome 版本差异,咱俩看到的这个打印的内容不大一致。 先不管这个,你协助我调试一下吧。我发你部分代码,你替换下本地对应的代码。 大约在 234 行,将我下面的代码替换一下。 看下是否有 ‘zhihu need process’ 的输出

            // 知乎
            zhihu() {
                const process = () => {
                    const targetNode = $('.SignFlow-tab:contains("密码登录")').map(function () {
                        if ($(this).text() == "密码登录") return this
                    })[0]
                    observe(targetNode, (mutations, observer) => {
                        for (let mutation of mutations) {
                            if (mutation.type === 'attributes') {
                                if (!$(targetNode).hasClass('SignFlow-tab--active')) {
                                    console.log('zhihu need process')
                                    setTimeout(() => $(targetNode)[0].click(), 1000)
                                    // 停止观察
                                    observer.disconnect()
                                }
                            }
                        }
                    })
                }

                process()

                const targetNode = document.body
                observe(targetNode, (mutations, observer) => {
                    for (let mutation of mutations) {
                        if (mutation.type === 'childList') {
                            const addedNodes = Array.from(mutation.addedNodes)
                            addedNodes.forEach((node) => {
                                if ($(node).find('.SignContainer-content').length > 0) {
                                    process()
                                    // 停止观察
                                    observer.disconnect()
                                }
                            })
                        }
                    }
                })
            },
§
Posted: 2024-01-24

有这个输出,我用的是firefox 115.7.0esr版本

§
Posted: 2024-01-24

暂时我要回复的慢些了,有点事要处理

xindongfangAuthor
§
Posted: 2024-01-24

插件用的 tampermonkey 还是其他?我在相同浏览器下用 tampermonkey 插件看着好像正常

§
Posted: 2024-01-24

tampermonkey,5.0.1版本

xindongfangAuthor
§
Posted: 2024-01-24

tampermonkey,5.0.1版本




这个截图里,我看功能也是正常的?有额外点击“密码登录”那个按钮吗?

§
Posted: 2024-01-24

原来这个插件是为了直接密码登录的啊,我还以为是关闭二维码登录界面呢,实在不好意思啊

xindongfangAuthor
§
Posted: 2024-01-24

没事

Post reply

Sign in to post a reply.