Я создал расширение Chrome, которое преобразует определенные ссылки в партнерскую ссылку и затем перенаправляет на эту партнерскую ссылку.
Шаги для лучшего понимания:
1. Кто-то посещает www.amazon.в и расширение получает его через chrome.webRequest.onBeforeRequest.addListener
2. URL-адрес, преобразованный в другой URL-адрес, такой как www.linkly.com? q1 = param & q2 = param .
3. Эта ссылкаснова отправляет запрос обратно на исходный URL, то есть www.amazon.in
Здесь он снова и снова делает цикл перенаправления.Я пытался использовать types: ['main_frame']
, но не получил решение.
manifest.json:
{
"manifest_version":2,
"name": "ExtName",
"description": "Ext Description",
"version":"1.0",
"browser_action":{
"default_popup":"index.html"
},
"icons": {
"16": "ic_launcher.png",
"48": "ic_launcher.png",
"128": "ic_launcher.png"
},
"background": {
"scripts": ["app/background.js","lib/jquery.min.js"],
"persistent": true
},
"content_scripts":[
{
"matches": ["http://*/*", "https://*/*", "file:///*/*"],
"css":["css/styles.css"],
"js":["lib/jquery.min.js"]
}
],
"web_accessible_resources": ["css/styles.css"],
"permissions": ["tabs","activeTab", "http://*/*", "https://*/*", "file:///*/*", "storage","webRequest","webRequestBlocking"]
}
background.js:
chrome.storage.sync.get(["prefs"],function(data){
var obj=JSON.parse(data.prefs);
uid=obj._userID;
updateLinks(uid);
});
function updateLinks(uid){
var redirUrl;
chrome.webRequest.onBeforeRequest.addListener(
function(details) {
if(typeof uid!=="undefined"){
redirUrl = "https://xredir.com/?pub_id=xxxx&subid="+uid+"&source=xxxx&url="+encodeURI(details.url);
}else{
redirUrl = "https://xredir.com/?pub_id=xxxx&source=xxxx&url="+encodeURI(details.url);
}
if(details.type=="main_frame"){
return {redirectUrl: redirUrl};
}
},
{urls: ["*://www.flipkart.com/*", "*://www.amazon.com/*", "*://www.amazon.in/*","*://www.jabong.com/*"],types: ['main_frame']},
["blocking"]
);
}
Пожалуйста, помогите мне решить эту проблему.Заранее благодарю за потраченное время и поддержку.