Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome:事件处理程序onClick to facebook sharer_Javascript_Angularjs_Google Chrome Extension_Facebook Sharer - Fatal编程技术网

Javascript Chrome:事件处理程序onClick to facebook sharer

Javascript Chrome:事件处理程序onClick to facebook sharer,javascript,angularjs,google-chrome-extension,facebook-sharer,Javascript,Angularjs,Google Chrome Extension,Facebook Sharer,所以我现在有很多麻烦,我必须在3天内完成这个项目,我被困在chrome扩展的链接中 项目: google chrome扩展,在当前选项卡中显示所有可用图像,并与多个社交网络共享 现在,我的扩展从当前选项卡获取所有图像,绝对或动态路径,并将它们显示在popup.html中,如果它链接到sharr.php,我需要在网站图像的右侧添加一个带有facebook徽标的图像 我正在使用angular.js framwork。 我的文件: Popup.html-这是显示图像的div <script s

所以我现在有很多麻烦,我必须在3天内完成这个项目,我被困在chrome扩展的链接中

项目:

google chrome扩展,在当前选项卡中显示所有可用图像,并与多个社交网络共享

现在,我的扩展从当前选项卡获取所有图像,绝对或动态路径,并将它们显示在popup.html中,如果它链接到sharr.php,我需要在网站图像的右侧添加一个带有facebook徽标的图像

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

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>
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,这样我就可以学习quick beirao94

首先,
fblink
是一个类,而不是id,所以getElementById将不起作用。使用
document.querySelector
document.querySelector all
执行此操作


您似乎正在使用AngularJS,这些链接将由AngularJS生成(在
  • 块中)。您必须使用
    ng click
    属性以AngularJS方式处理单击事件。有关更多信息,请参见。

    以下内容方 觉 我是来和你分享解决方案的

    angularjs有一个名为ng click的函数,所以我们要做的是在popup.html中

    <img src="http://formaemflor.com.br/loja/skin/frontend/default/perfume/images/facebook_icon.png" class="fblink" ng-click"sharefb(pageInfo)"/>
    

    因此,我们可以轻松地在html代码中调用javascript函数,即使是使用manifest v2。

    所以我应该这样做?您需要定义$scope.fblinkClick(例如)函数并在其中调用chrome.tabs.create,然后将ng click设置为类似“fblinkClick(pageInfo.url)”的值。它不起作用,ng click这是控制器的一次单击,这意味着,它不是在图像中生成单击事件,而是在扩展图标中生成,我在图标中单击,弹出窗口变为可见,并使用facebooksharer和所有图像创建一个新窗口。。图像很容易修复,它是一个数组,所以我只需要使用pageInfos[0]…,但我仍然无法尽可能地点击每个图像
    <img src="http://formaemflor.com.br/loja/skin/frontend/default/perfume/images/facebook_icon.png" class="fblink" ng-click"sharefb(pageInfo)"/>
    
     $scope.sharefb = function($url){
             chrome.window.create({url: 'http://www.facebook.com/sharer/sharer.php?u='+$url}); // or
             chrome.tabs.create({url: 'http://www.facebook.com/sharer/sharer.php?u='+$url)];
    };