就是想知道这行代码为什么在via脚本中不被执行。。。

@Ta 09-17 00:51 4675点击

如题,,,复制到地址栏是生效的,,但是在via的 "脚本功能" 中就不被执行。。。应该怎么改。。。

Screenshot_20220917004834.jpg(211.27 KB)
坏孩子,其实你很好,但是还不够好

回复列表(22)
  • @Ta / 09-17 00:51 / /

    像最简单的 alert(1); 这种是生效的,但是截图这行却无效。。
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-17 01:52 / /

    是不是要加开头的东西。。
    Screenshot_2022-09-17-01-51-11-109_mark.via.jpg(241.23 KB)

  • @Ta / 09-17 02:36 / /
    @无名啊,一张相似的截图
    IMG_20220917_023523.jpg(70.77 KB)
  • @Ta / 09-17 08:16 / /

    @无名啊,你这是新版,旧版没这些东西,新版加了这些也没用,,,
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-17 08:27 / /

    @𪛞𪛟,反正就几百KB,就升级一下呗。说不定是个 bug,被修复了呢

  • @Ta / 09-17 08:29 / /

    @tasy5kg,what a coincidence!

  • @Ta / 09-17 13:37 / /
    鉴定完毕,楼上是同一个人,小号
  • @Ta / 09-17 20:44 / /

    @无名啊
    升级过,,加了那些也没用,,
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-17 22:10 / /

    @𪛞𪛟,可以生效啊,但要加上元数据描述(否则 via 都不给我保存)

    截图

    Screenshot_2022-09-17-22-06-07-239_mark.via.jpg(504.16 KB)

    代码

    // ==UserScript==
    // @name         编辑老虎林
    // @namespace    https://hu60.cn/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @run-at       document-start
    // @match        https://hu60.cn/*
    // @grant        none
    // ==/UserScript==
    
    document.body.contentEditable = 'true';
    document.designMode = 'on';
    void(0);
    
  • @Ta / 09-17 23:35 / /

    @无名啊
    复制你的都不行,,,放弃了,,,可能我手机问题吧。。。
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-17 23:35 / /

    现在把脚本放在书签里手动执行了
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-17 23:48 / /

    @𪛞𪛟,上面的代码只在老虎林生效啊

    再不行的话。。会不会是浏览器内核不支持这个功能。。也不对,你说地址栏里生效

    那会不会就是 via BUG 了。。要不去QQ群里问问?

  • @Ta / 09-18 00:00 / /

    @无名啊
    测试的就是老虎林,,,我Android 5就不去找开发者了
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-18 00:51 / /

    @𪛞𪛟,我翻出了多年前的一台安卓机,系统 4.4.4。

    一开始也和你一样,没有反应。

    但只要将代码第一第二行互换一下后就可以了。

    Screenshot_2022-09-18-00-38-25-727_mark.via_123947.png(156.85 KB)

    即:

    // ==UserScript==
    // ……
    // ==/UserScript==
    
    document.designMode = 'on';             // 1. 先执行这行
    // alert('test1')                       // 4. 但这个却弹出了
    document.body.contentEditable = 'true'; // 2. 这行在我的旧安卓不会执行
    // alert('test2')                       // 3. 因为没有弹出这个
    void(0);
    
  • @Ta / 09-18 00:46 / /

    @无名啊
    确实,,,神奇的js,,,
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-18 22:27 / /

    @𪛞𪛟,我觉得是执行时机问题,把它加到载入完成事件里应该可行。还有第一个可能应该给true而不是'true'#20

    // ==UserScript==
    // @name         编辑老虎林
    // @namespace    https://hu60.cn/
    // @version      0.1
    // @description  try to take over the world!
    // @author       You
    // @run-at       document-start
    // @match        https://hu60.cn/*
    // @grant        none
    // ==/UserScript==
    
    document.addEventListener('DOMContentLoaded', function () {
        document.body.contentEditable = 'true';
        document.designMode = 'on';
    });
    
  • @Ta / 09-18 21:05 / /

    一脸懵逼 +1
    目瞪狗呆 +1
    坏孩子,其实你很好,但是还不够好

  • @Ta / 09-18 21:17 / /

    @𪛞𪛟,我忘记写反括号

添加新回复
回复需要登录