多多包涵,如果這聽起來太簡單了吧。獲取DIV級ID上單擊使用jQuery
我寫一個Chrome擴展程序,一旦用戶在頁面的對象上點擊右鍵,出現的上下文菜單,並在那裏,他有一個選項,以獲取該ID的點擊DIV級的+評級。
我一直在這幾天和管理,以額外的按鈕添加到右鍵菜單。一旦這些按鈕被點擊,該頁面的源被記錄下來。可能會讓我花更少的時間來做這件事,但這是我第一次用javascript寫作,並且我一直陷入困境。
反正我不希望首頁的整個HTML代碼,但點擊DIV級。我谷歌搜索後,事實證明,最好的方法是通過使用jquery的「html」函數而不是純JavaScript。問題是它不適合我。
這裏是我的代碼:
BackgroundPage(一切似乎都在這裏工作的罰款)
function genericOnClick(tab)
{
console.log(tab.pageUrl);
chrome.tabs.getSelected(null, function(tab)
{
chrome.tabs.sendMessage(tab.id, {action: "getSource"}, function(source) {
console.log(source);
});
});
}
// Create a parent item and two children.
var parent1 = chrome.contextMenus.create({"title": "Rank Trigger", "contexts":["all"]});
var child1 = chrome.contextMenus.create
(
{"title": "Rank 1", "contexts":["all"], "parentId": parent1, "onclick": genericOnClick}
);
var child2 = chrome.contextMenus.create
(
{"title": "Rank 2", "contexts":["all"], "parentId": parent1, "onclick": genericOnClick}
);
var child3 = chrome.contextMenus.create
(
{"title": "Rank 3", "contexts":["all"], "parentId": parent1, "onclick": genericOnClick}
);
ContentPage:(問題就在這裏)
chrome.extension.onMessage.addListener(function(request, sender, callback)
{
if (request.action == "getSource")
{
// callback(document.documentElement.outerHTML); //here i can get the page's whole source, I only want the clicked div class
callback($('div class).html(); <--- something wrong here
}
});
清單文件:
{
"name": "x",
"description": "x",
"version": "0.1",
"permissions": ["contextMenus", "tabs"],
"content_scripts":
[
{
"matches": ["http://*/*","https://*/*"],
"js": ["jquery.js", "content.js"],
"run_at": "document_end"
}
],
"background":
{
"scripts": ["background.js"]
},
"manifest_version": 2
}
有什麼想法?我再次知道我的問題看起來很簡單,但我自己都在自學,所以出於某種原因,我發現網絡編程比應用程序編程更困難。
非常感謝。
編輯:只是爲了澄清我想要的html源代碼是這樣的: <div class="story reviewed-product-story" data-story-id="488481648"....</div>
。 我想要這個div類,以便我可以解析它以獲取數據故事標識。如果有一種方式來獲得的ID沒有得到股利類第一那麼也將工作(甚至更好)
編輯:感謝Adeneo,我現在就可以拿到第一個div類的ID在頁面的來源中,但不是點擊的。向前邁進了一步,但並不完全符合我的需求。 也許我必須使用$之前得到點擊div的來源(「故事‘)。數據(’故事-ID」)。有什麼建議麼?
無不是真的。編輯該問題以獲得更多解釋。感謝您的回答:) – r3x 2013-02-15 16:17:23
@ r3x - 改變它,這是否更接近? – adeneo 2013-02-15 16:21:10
沒有,不幸的是沒有工作。 data('story-id')));沒有任何東西被記錄,更多的是當我寫alert($('。story')。我得到空...也許我調用jquery方法都是錯誤的,它應該是jquery.data或類似的東西。無論如何,謝謝:) – r3x 2013-02-15 16:47:46