我正在为页面添加书签页面并将其作为JSON与localStorage存储。
这是截图 -
问题是,当我点击链接时,没有任何反应
所以我尝试将所有链接分配一个.link类,并附加了这个监听器 -
$('.link').click(function(){
var url = $(this).attr('href');
var urlList = {};
urlList['url'] = url;
chrome.tabs.create(urlList);
});
但仍然没有发生任何事。我右键单击浏览器操作按钮并尝试检查弹出窗口,它显示没有连接到该链接的监听器。
这是github上的source of whole project。
请帮我打开一个带有指定网址的新标签。
答案 0 :(得分: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] +
它会起作用!
答案 1 :(得分:0)
试试这个,我在your code
中做了一些更改$('.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!');
});