gpt4 book ai didi

javascript - Chrome : Event Handler onClick to facebook sharer

转载 作者:行者123 更新时间:2023-12-02 18:31:42 25 4
gpt4 key购买 nike

所以我现在遇到了很多麻烦,我必须在 3 天内完成该项目,而且我被困在 chrome 扩展程序中的链接中。

项目:

一个 google chrome 扩展程序,可显示当前选项卡中的所有可用图像并共享到多个社交网络。

现在我的扩展程序从当前选项卡获取所有图像(绝对路径或动态路径)并将它们显示在 popup.html 中,并且我需要在网站图像右侧添加带有 facebook Logo 的图像它链接到 sharer.php

我正在使用 angular.js 框架。我的文件:

Popup.html - 这是显示图像的 div。

 <script src="js/lib/jquery-1.8.2.min.js"></script>
<script src="js/lib/angular.min.js"></script>

<script src="js/app/app.js"></script>
<script src="js/app/popup.js"></script>
<script src="js/app/bindclick.js"></script>
<div ng-controller="PageController">
<div>{{message}}</div>
<h2>Page:</h2>
<div>{{title}}</div>
<div id="url">{{url}}</div>
<h2>Has Links:</h2>
<ul>
<li ng-repeat="pageInfo in pageInfos">
<div><img src={{pageInfo}} class="imagemPopup"/><img src="http://formaemflor.com.br/loja/skin/frontend/default/perfume/images/facebook_icon.png" class="fblink" style="width: 50px; height: 50px"/></a></div>
</li>
</ul>
</div>

内容.js

//alert('content script loaded');

chrome.extension.onMessage.addListener(
function (request, sender, sendResponse) {

if (request.action == 'PageInfo') {
var pageInfos = [];

$('img').each(function() {
pageInfos.push($(this)[0].src);
});
sendResponse(pageInfos);
}
});

popup.js

myApp.service('pageInfoService', function() {
this.getInfo = function(callback) {
var model = {};

chrome.tabs.query({'active': true},
function (tabs) {
if (tabs.length > 0)
{
model.title = tabs[0].title;
model.url = tabs[0].url;

chrome.tabs.sendMessage(tabs[0].id, { 'action': 'PageInfo' }, function (response) {

model.pageInfos = response;

callback(model);
});
}

});
};
});

myApp.controller("PageController", function ($scope, pageInfoService) {

pageInfoService.getInfo(function (info) {
$scope.title = info.title;
$scope.url = info.url;
$scope.pageInfos = info.pageInfos;

$scope.$apply();


});
});

我想将事件处理程序应用到bindclick.js,它应该是这样的。

document.getElementById('.fblink').addEventHandler('click', function(){
var url='http://www.facebook.com/sharer/sharer.php?u='+pageInfo.url;
chrome.tabs.create({ url: url });
});

我尝试了所有方法,但无法使 onclick 事件起作用,你能给我代码吗?我真的需要了解 chrome 扩展的人的帮助,如果可能的话请添加我 Skype,以便我可以快速学习 beirao94

最佳答案

首先,fblink是一个类,而不是 id,所以 getElementById 将不起作用。使用document.querySelectordocument.querySelectorAll来做到这一点。

看来您正在使用 AngularJS,并且这些链接将由 AngularJS 生成(在 <li ng-repeat=...> block 内)。您必须使用 AngularJS 方式处理点击事件 ng-click属性。请参阅http://docs.angularjs.org/tutorial/step_10了解更多信息。

关于javascript - Chrome : Event Handler onClick to facebook sharer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17732482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com