0

ページをブックマークし、localStorage を使用して JSON として保存するためのクロム拡張機能を作成しています。これがスクリーンショットです -
拡張機能のスクリーンショット
問題は、リンクをクリックしても何も起こらないことです。
だから私はすべてのリンクを .link クラスに割り当てようとし、このリスナーをアタッチしました-

$('.link').click(function(){
  var url = $(this).attr('href');
  var urlList = {};
  urlList['url'] = url;
  chrome.tabs.create(urlList);
});

しかし、まだ何も起こりませんでした。ブラウザのアクション ボタンを右クリックして、ポップアップを調べてみたところ、リンクにリスナーが接続されていないことがわかりました。


これがgithubのプロジェクト全体のソースです


このリンクで、指定した URL の新しいタブが開くようにしてください。

4

2 に答える 2

1

リンクのhrefプロパティに正しいURLアドレスを入力する必要があります。したがって、$('#viewAll').click(function(){ ... }コールバックでは、行を置き換えます

str += '<tr>' + '<td><a class="link" href="' + objects[keys[i]] + '">' + keys[i] +

str += '<tr>' + '<td><a class="link" href="http://' + keys[i] + '">' + keys[i] +

そしてそれはうまくいくでしょう!

于 2013-03-01T10:05:01.270 に答える
0

これを試してください、私はあなたのコードにいくつかの変更を加えました

$('.link').live('click', function() {
  var url = $(this).attr('href');
  $('#message').html(url);
  chrome.tabs.create({ 'url' : url });
});

$('#viewAll').click(function(){
  var objects = JSON.parse(localStorage['DocSaver'])

  var keys = [];
  for (key in objects) {
    keys.push(key);
  }
  var i = 0;
  var keyslen = keys.length;
  var str = '';
  //SORTED KEY ITERATION
  while (i < keyslen) {
    str += '<tr>' + '<td><a class="link" href="' + objects[keys[i]] + '">' + keys[i] +
    '</a></td></tr>'
    ;
    ++i;
  }
  $('#viewFrame > table').html(str);
  $('#viewFrame').css('display','block');
  $('#message').html('Done displaying!');
});
于 2013-03-02T12:36:51.717 に答える