Проблема с циклом перенаправления при использовании расширения Chrome - PullRequest
0 голосов
/ 27 декабря 2018

Я создал расширение 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"]
	);		
}

Пожалуйста, помогите мне решить эту проблему.Заранее благодарю за потраченное время и поддержку.

...