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

怎么强制格瓦拉网站的链接在新标签页打开?

  •  
  •   hgjian · 2019-05-15 10:58:15 +08:00 via Android · 5193 次点击
    这是一个创建于 2018 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我打开格瓦拉网站(www.gewara.com),无论点击哪个页面,都是在当前标签页打开,查看了一下 html 源码,发展标题是在<p></p>标签里面,没有链接地址,请问要是自己写个网页辅助脚本该怎么做呢?有大神能指点一下吗?
    42 条回复    2019-05-29 14:06:24 +08:00
    pkookp8
        1
    pkookp8  
       2019-05-15 11:01:03 +08:00 via Android
    ctrl+左键
    pkookp8
        2
    pkookp8  
       2019-05-15 11:02:00 +08:00 via Android
    @pkookp8 我错了,忽略吧
    hgjian
        3
    hgjian  
    OP
       2019-05-15 11:07:25 +08:00 via Android
    @pkookp8 有更好的办法吗? chrome 的扩展都不好使
    hgjian
        4
    hgjian  
    OP
       2019-05-15 11:08:35 +08:00 via Android
    @pkookp8 能试的办法都试过了
    kwongC
        5
    kwongC  
       2019-05-15 11:15:27 +08:00
    因为别人用的是 location.href 拼接 url 来跳转,不是用 url,你自己分析页面实现一个插件打开新的 tab,并用他的 url 规则就可以了
    qq64350633
        6
    qq64350633  
       2019-05-15 11:17:47 +08:00
    tampermonkey
    DoveAz
        7
    DoveAz  
       2019-05-15 11:20:01 +08:00
    建议忍,这个辅助脚本很难写
    hgjian
        8
    hgjian  
    OP
       2019-05-15 11:21:18 +08:00 via Android
    @qq64350633 有推荐的脚本吗?找了半天,试了几个,不顶用。
    kwongC
        9
    kwongC  
       2019-05-15 11:23:12 +08:00   ❤️ 1
    因为别人用的是 location.href 拼接 url 来跳转,不是用 url,你自己分析页面实现一个插件打开新的 tab,并用他的 url 规则就可以了
    ——————————————————————————
    订正 [不是用 url] → 不是用 a 标签
    hgjian
        10
    hgjian  
    OP
       2019-05-15 11:24:07 +08:00 via Android
    @DoveAz 有思路建议什么的吗?
    hgjian
        11
    hgjian  
    OP
       2019-05-15 11:26:40 +08:00 via Android
    @kwongC 是去 js 文件里面找规则吗?看他们打包的文件感觉好复杂,我 js 刚入门。
    daodao
        12
    daodao  
       2019-05-15 11:29:19 +08:00
    作为格瓦拉的前产品经理在 v 站看到格瓦拉这三个字老泪纵横啊。。。以为早就进入历史废墟被人遗忘了
    mansurx
        13
    mansurx  
       2019-05-15 11:34:53 +08:00 via Android
    我记得 chrome 浏览器的话,鼠标中键就是新标签打开,脚本考虑下这个思路如何
    DoveAz
        14
    DoveAz  
       2019-05-15 11:37:08 +08:00   ❤️ 1
    react 写的,先获取 dom,在获取 dom 上的 react 一些信息,里面有 key,key 是对应的资源 ID,写个油猴脚本,把原来的点击事件改成自己的,特别麻烦,每个不同类别的链接都要分析一下
    Raymon111111
        15
    Raymon111111  
       2019-05-15 11:44:28 +08:00
    鼠标中键...
    hgjian
        16
    hgjian  
    OP
       2019-05-15 11:44:32 +08:00 via Android
    @daodao 哈哈,买电影票看到,猫眼电影里面有个演出,点进去就是格瓦拉了
    hgjian
        17
    hgjian  
    OP
       2019-05-15 11:45:00 +08:00 via Android
    @mansurx 对这个网站不顶用了
    hgjian
        18
    hgjian  
    OP
       2019-05-15 11:46:24 +08:00 via Android
    @DoveAz 感谢,我就是瞧瞧每天上海有啥好玩的演出,不用每个都分析,看前几个演出就好了。
    cheeto
        19
    cheeto  
       2019-05-15 12:04:02 +08:00
    key = 当前点击 dom 节点.__reactInternalInstance$vazsh4rqk9s.key
    然后 window.open(window.location.href + '/detail/' +key)应该就阔以了
    cheeto
        20
    cheeto  
       2019-05-15 12:22:32 +08:00
    @cheeto __reactInternalInstance$vazsh4rqk9s $后边的值会变,还要正则找到__reactInternalInstance 这个属性获取里边的值应该就行
    binaryify
        21
    binaryify  
       2019-05-15 12:37:28 +08:00
    用代理转发修改后的 js 吧
    binaryify
        22
    binaryify  
       2019-05-15 12:38:41 +08:00
    opengps
        23
    opengps  
       2019-05-15 12:39:47 +08:00 via Android
    手动复制标签页,然后点击😅
    hgjian
        24
    hgjian  
    OP
       2019-05-15 12:54:45 +08:00 via Android
    @binaryify 感谢感谢
    hgjian
        25
    hgjian  
    OP
       2019-05-15 12:55:14 +08:00 via Android
    @binaryify 感谢提供思路
    hgjian
        26
    hgjian  
    OP
       2019-05-15 12:57:03 +08:00 via Android
    @binaryify 代理转发 js 啥意思?
    hgjian
        27
    hgjian  
    OP
       2019-05-15 12:57:36 +08:00 via Android
    @cheeto 感谢提供研究的代码
    no1xsyzy
        28
    no1xsyzy  
       2019-05-15 13:04:24 +08:00
    @hgjian 就是把 “对 location.href ” 这个操作变成打开新标签页。
    hgjian
        29
    hgjian  
    OP
       2019-05-15 13:33:18 +08:00
    @no1xsyzy 好的,我研究下
    binaryify
        30
    binaryify  
       2019-05-15 13:46:39 +08:00

    binaryify
        31
    binaryify  
       2019-05-15 13:48:03 +08:00   ❤️ 1
    只要把那个 js 代理成修改后的就行,charles 啥的都可以,我这里用 了 chrome xswitch 插件
    hgjian
        32
    hgjian  
    OP
       2019-05-15 14:15:49 +08:00
    @binaryify 好的,我去 github 看下使用说明,谢谢
    ddzy
        33
    ddzy  
       2019-05-15 19:17:02 +08:00
    你这个标题, 我以为是`怎么强制窃格瓦拉网站...`
    hgjian
        34
    hgjian  
    OP
       2019-05-15 22:46:11 +08:00 via Android
    @ddzy 我不做爬虫,也不会写,所以不用窃取数据,本来就是看看演出觉得打开网页不方便,所以来求教。
    jarnanchen
        35
    jarnanchen  
       2019-05-15 22:57:56 +08:00
    我有个思路,在页面上拿到 productid, 然后点击事件打开 http://www.gewara.com/detail/{id}就好了
    ddzy
        36
    ddzy  
       2019-05-15 23:14:51 +08:00 via iPhone
    最好的解决办法:安装手势插件,然后设置 鼠标左键拖动打开
    hgjian
        37
    hgjian  
    OP
       2019-05-16 09:23:20 +08:00 via Android
    @jarnanchen 页面没有 id
    hgjian
        38
    hgjian  
    OP
       2019-05-16 09:23:59 +08:00 via Android
    @ddzy 等会试试看
    hgjian
        39
    hgjian  
    OP
       2019-05-16 20:09:09 +08:00
    @ddzy 可以推荐一下插件吗?找了几个插件没有设置鼠标左键的。
    ddzy
        40
    ddzy  
       2019-05-17 12:47:51 +08:00
    @hgjian 我正在用一款浏览器—— CentBrowser, 和 chrome 完全一样, 内置了鼠标手势, 你可以去下载用用.
    hgjian
        41
    hgjian  
    OP
       2019-05-17 17:46:40 +08:00
    @ddzy 好的
    telun
        42
    telun  
       2019-05-29 14:06:24 +08:00
    最直接的建议是直接给猫眼团队写邮件,要求官方修正
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1030 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 19:25 · PVG 03:25 · LAX 11:25 · JFK 14:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.