京东移动端URL自动跳转PC端URL插件

前言

平常情况下,同学朋友通过手机给自己分享的京东或者淘宝的某一个商品的购物页面,自己在使用电脑打开的时候不会自动跳转到PC版页面,还是会继续显示手机端页面,非常不利于自己的浏览和使用。

因此,我想自己整一个插件,实现网址的自动解析,能够将移动端的网址转换成PC端的网址。

How to do it?

从来没写过插件的我,顿时有点手足无措的样子.

先明确一下需求,我的需求是希望当我在电脑端点开移动端的京东网址时,浏览器自动将页面跳转至PC端网页。

案例分析

SXY发给我的链接

例如上面是我师弟在微信中给我分享的一个手机端的京东购物链接,我用电脑打开后进入的是手机版网页,网址为

https://item.m.jd.com/product/100000400070.html?dl_abtest=o&ShareTm=rr%2BQ7S0ZsHqOg%2BNkD1%2BqDK%2B5MqTbkWUruPQC32bkT2pDewRw1OrdbggDkq8if5MXeRIXogK8djFVmz2e9YNd4zmjpyGFcByC3%2BFfoIcaZ5QYTjBQfgG70%2FDIYcZfjpHmYOpKTTsKRauIKCPmuNwaTnHlSzE9m6NiIE850YMH2u0%3D&ad_od=share&utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=Wxfriends

通过分析后我发现,我期望的PC网页版网址为

https://item.jd.com/100000400070.html

这就很好办了,我只需要利用正则表达式,从原来的网址中提取出商品的 ID 就可以自己拼接出网址了。

这里提供一个可以快速验证自己正则表达式的 网址 和一个可以可视化正则表达式的 网址

Chrome插件开发

物理学家和工程师的区别

搞工程,讲究的是敏捷式开发,duo通了事。

首先,新建一个manifest.json文件,这个文件是我们即将开发的插件的配置文件,设置该文件格式为UTF-8.

manifest.json

{
    "name": "京东移动URL自动跳转为PC端URL",
    "version": "1.0",
    "manifest_version": 2,
    "description": "在桌面电脑上,打开移动端分享的URL,自动跳转到PC端URL",    
    "content_scripts": [
        {
            "matches": ["https://item.m.jd.com/product/*"],
            "js": ["url_swap.user.js"]
        }
    ]
}    
  • name: 插件的名字
  • version: 插件版本
  • manifest_version: 必须写 2 ,至于原因我没有深究
  • description: 关于该插件的描述
  • content_scripts: 列表内嵌套字典

    • matches: 要匹配的网页,支持正则表达式
    • js: 需要注入到所匹配的页面中的 JS 文件

js代码

(function() {
    'use strict';
    var result;
    if((result = (new RegExp(/(\d+)\.html/,'i')).exec(location.pathname)) !== null)
    {
        location.href='https://item.jd.com/'+result[1]+'.html';
    }
})();

如何安装自己写的Chrome插件

方式1:打开 Chrome菜单–>更多工具–>扩展程序->点击 加载已解压的扩展程序
方式2:在Chrome地址栏输入 chrome://extensions/ -> 点击 加载已解压的扩展程序

GitHub

https://github.com/gaozhengjie/jd_auto_jump

Reference

[1] Chrome插件开发-网页中运行自己的JS

文章最后更新时间为:2019 年 03 月 19 日 16:15:43

已有 2 条评论
  1. kyx kyx

    不错,非常实用

添加新评论