首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
V2EX  ›  JavaScript

求把 console.re 放入油猴脚本的方法

  •  
  •   keepsome · 120 天前 · 1382 次点击
    这是一个创建于 120 天前的主题,其中的信息可能已经有所发展或是发生改变。

    平时经常开着浏览器脚本挂机,远程查看很不方便,所以希望能有一个实时同步 log 的工具

    目前发现一个比较好用而且免费的站console.re
    通过 //console.re/connector.js 可以实时显示 log,还能设置不同等级,比如 console.re.log() console.re.error()

    目前根据官网提示构建网页脚本能正常记录,但是在油猴脚本里就无法成功,各种提示 undefined
    connector.js 也无法被 @require

    所以希望大佬能写一个示例脚本,谢谢

    6 回复  |  直到 2018-01-21 14:15:20 +08:00
        1
    caomu   120 天前 via Android
    调试网页的话,是不是应该把脚本注入到页面中?因为油猴脚本是运行在沙盒里的,环境变量都是不共享的。
        2
    keepsome   120 天前
    @caomu 我想通过 console.re 实时查看油猴脚本运行结果和错误日志,不是想调试网页
        3
    vizards   120 天前   ♥ 1
    这个简单啊,示例脚本:


    监控地址: http://console.re/bf8e-4fa7-a2dc
    tampermonkey 监控的页面是: https://www.baidu.com
        4
    8qwe24657913   120 天前   ♥ 1
    @vizards 的方法只适用于 grant none 的情况,"各种提示 undefined"的话肯定不是 grant none,进了 Xray vision / isolation world
    迂回的方法也不是没有,需要在 connector.js 之前往 DOM 里放个元素

    // @require data:text/javascript,{let s=document.documentElement.appendChild(document.createElement('script'));s.dataset.channel='YOUR-CHANNEL-NAME';s.id='consolerescript'}
    // @require https://console.re/connector.js

    不想动 DOM 的话请 hook document.getElementById 等方法……


    PS: 这样无法发布到 greasyfork 上,因为它只允许白名单内的脚本
    PPS: github 上的版本和实际引入的版本不一样这点坑了我一把……
        5
    keepsome   120 天前
    @vizards 感谢,grant none 下通过,大部分脚本可以追踪了

    @8qwe24657913 感谢补全,这个方法看起来很强大,不能发布到 greasyfork 那也没办法,放 github 上就行
        6
    Arnie97   119 天前 via Android
    @caomu 虽然 GreaseMonkey 是沙盒,但一些其他的 User Script 管理器可以直接访问页面当中的变量,例如 ViolentMonkey。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2985 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 03:20 · PVG 11:20 · LAX 20:20 · JFK 23:20
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1