更改网址 - 镀铬扩展名中的数字

时间:2015-04-09 04:33:20

标签: javascript regex google-chrome url

我正在尝试制作自己的chrome扩展程序,但我只有html和js的基本知识对我来说是胡言乱语。所以我求救。

我有这样的网址:

http://www.website.com/blabla/number1/number2/blabla/number3_orig.extension

http://www.website.com/blabla/11912/57294/blabla/001_orig.png

我正在尝试进行扩展,这将允许增加或减少该网址中的数字并同时显示网页,并且我希望能够在网址末尾选择扩展名(png或jpg)

http://postimg.org/image/40cevbqlh/full/

“+”表示当前数字加1,“ - ”表示当前数字减1,单选按钮更改扩展名.png或.jpg

实施例: 我有这个网址:

http://www.website.com/blabla/00000/00000/blabla/000_orig.png 

当我点击第一个“+”时,这个网址应该打开:

http://www.website.com/blabla/00001/00000/blabla/000_orig.png 

现在我点击第二个“+”这个网址应该打开:

http://www.website.com/blabla/00001/00001/blabla/000_orig.png 

现在我点击“.jpg单选按钮”这个网址应该打开:

http://www.website.com/blabla/00001/00001/blabla/000_orig.jpg

现在当我点击第二个“ - ”时,这个网址应该打开:

http://www.website.com/blabla/00001/00000/blabla/000_orig.jpg 
等等......

我能够制作这段代码:

的manifest.json

{
  "name": "Name",
  "version": ".1",
  "description": "Description",
  "background": { 
     "page":"bg.html"
     },

 "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html",
    "default_title": "Click here!"
  },

   "manifest_version": 2,
   "content_scripts": [
   {
     "matches": ["http://*/*", "https://*/*"],
     "js": ["content.js"]
   }
   ],
  "permissions": ["tabs"]
}

popup.html

<!doctype html>
<!--
 This page is shown when the extension button is clicked, because the
 "browser_action" field in manifest.json contains the "default_popup" key with
 value "popup.html".
 -->
<html>
  <head>
    <title>Getting Started Extension's Popup</title>
    <style>
      body {
        font-family: "Segoe UI", "Lucida Grande", Tahoma, sans-serif;
        font-size: 100%;
      }
    </style>

    <!--
      - JavaScript and HTML must be in separate files: see our Content Security
      - Policy documentation[1] for details and explanation.
      -
      - [1]: https://developer.chrome.com/extensions/contentSecurityPolicy
     -->
    <script src="popup.js"></script>
  </head>
  <body>
    <button id="plus1">+</button>
    <button id="plus2">+</button>
    <button id="plus3">+</button>
    <br/>
    <button id="minus1">-</button>
    <button id="minus2">-</button>
    <button id="minus3">-</button>
    <br/>
    <input type="radio" name="extension" value="png">.png
    <input type="radio" name="extension" value="jpg">.jpg

  </body>
</html>

bg.html

<html>
  <script src="redirect.js"></script>
</html>

popup.js

??? I dont know what code should be here...

redirect.js

??? I dont know what code should be here...

content.js

??? I dont know what code should be here...

1 个答案:

答案 0 :(得分:0)

您可以使用window.location更改网址。

所以你会得到当前的页面位置,

var my_url = window.location.href;

然后你可以将地址分成不同的部分。

var url_split = my_url.split("/");

如果您的网址符合以下格式: http://www.website.com/blabla/00001/00001/blabla/000_orig.jpg

然后你可以得到第一个数字:

var my_num = parseInt(url_split[4]);

增加一个。

my_num = my_num + 1;

然后获取您网址的最后一部分,并在&#39;分开。&#39;:

var pic = url_split[7].split(".");

将pic [2](图片扩展名)设置为您想要的任何内容:

pic[2] = "jpg"; or pic[2] = "png";

使用您制作的作品制作新网址:

var new_url = "http://www.website.com/" + url_split[3] + "/" + my_num + "/" + my_num + "/" url_split[6] + "/" + ... pic[2];

然后重定向到您的新网址:

window.location.replace( new_url );

以下是使用javascript重定向的相关stackoverflow问题的链接。 Link