2015-04-09 3 views
0

Я пытаюсь сделать свое собственное расширение chrome, но у меня есть только базовые знания html и js - тарабарщина для меня. Поэтому я прошу помощи.Измените номера в url - chrome extension

У меня есть такой URL:

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

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

И я пытаюсь сделать расширение, которое позволит увеличить или уменьшить число в этом URL и показать веб-страницы, в то же время, а также я хочу возможность выбора расширения в конце url (png или jpg).

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

«+» означает, что текущий номер плюс один, а «-» означает, что текущее число минус один, радио кнопки изменяет расширение .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 радио» Этот URL-адрес должен открыть:

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

и теперь, когда я нажмите второй "-" этот URL-адрес должен открыть:

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... 

ответ

0

Вы можете использовать window.location изменить URL.

Таким образом, вы получите текущее местоположение страницы,

var my_url = window.location.href;

Тогда можно разделить адрес на это разные части.

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

Если ваш URL имеет вид: http://www.website.com/blabla/00001/00001/blabla/000_orig.jpg

Тогда вы могли бы получить первый номер:

var my_num = parseInt(url_split[4]);

увеличиваем его на единицу.

my_num = my_num + 1;

Затем получить последнюю часть URL-адрес, и разделить им на '':

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

Set ПИК [2] (расширение изображения) все, что вы хотите :

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

Сделайте свой новый URL из кусочков, которые вы сделали:

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

Затем переориентировать на свой новый адрес:

window.location.replace(new_url);

Вот ссылка на соответствующий StackOverflow вопрос о перенаправлении с JavaScript. Link

Смежные вопросы