内容脚本在facebook的所有页面上加载,但在主页上除外

时间:2017-09-25 17:30:51

标签: javascript facebook google-chrome google-chrome-devtools

我正在开发一款适用于Facebook的Chrome扩展程序。扩展程序在普通的按钮旁边放置一个私有的按钮。我已经为客户端进行了此扩展,此扩展的目的是在扩展用户之间进行私人喜欢。当用户登录到扩展程序时,扩展名会填充私有按钮。

Private Like 按钮可以在Facebook的所有页面上填充。即;在主页上,在您打开一个帖子的每个帖子上,在您的个人资料上。但它只适用于主页,我不知道为什么。我认为问题将是因为内容脚本中的URL匹配。正如我提供的"http://www.facebook.com/*","https://www.facebook.com/*"。 Facebook组网址为https://www.facebook.com/groups/thedigits...,因此我将匹配更改为https://www.facebook.com/groups/*/,与我为配置文件所做的相同。但仍然没有为我工作。

我的清单



{
	"name":"Private Like",
	"description":"Privately like facebook users post through this extension !",
	"version":"1.0",
	"manifest_version":2,
	"icons":{"16":"icons/icon_liked.png","32":"icons/icon_liked.png","64":"icons/icon_liked.png","128":"icons/icon_liked.png"},
	"content_scripts": [
	    {
	      "matches": [
		      "http://www.facebook.com/*",
		      "https://www.facebook.com/*",
		  ],
	      "js": ["jquery.js", "document.js"]
	    }
    ],
    "background":{
        "matches": [
		      "http://www.facebook.com/*",
		      "https://www.facebook.com/*"
		],
    	"scripts":["jquery.js","background.js"]
    },
    "permissions":[
        "cookies",
        "tabs",
        "storage",
    	"http://www.facebook.com/*",
    	"https://www.facebook.com/*",
    	"http://www.bitbaysolutions.com/*"
    ],
	"browser_action":{"default_icon":"icons/icon_liked.png"}
}




  

您可以检查扩展程序是否有效,install the simple file并检查脚本。

     
    

我只需要在个人资料和分组页面上使用私有按钮。     它只发送一个简单的ajax请求并返回一个值,您可以在登录页面控制台上检查该值。

  

1 个答案:

答案 0 :(得分:0)

通过使用javascript的var elementForMs = driver.findElement(By.css(selector)); driver.executeScript("arguments[0].click()", elementForMs); 方法,其中的函数将在特定时间间隔后调用,每次它将通过facebook帖子,并将检查私有类似按钮是否填充到它。 setInterval()方法中的函数将填充按钮。

我将间隔设置为2000毫秒或2秒。在两秒钟之后调用该函数,现在它在任何地方填充按钮。