[英]Using jQuery on sites like Gmail or Facebook
考慮到用戶名和密碼,我正在嘗試自動登錄用戶訪問網站。 要做到這一點,我正在使用Chrome擴展程序,其中每個頁面都會加載我的內容腳本,該腳本將嘗試查找用戶名和密碼框的位置,然后提交。
內容腳本加載jQuery並找到我沿着這些行做的事情:
$("input[type=password]") OR $(".password") OR $("#password")
這通常有效但在Facebook或Gmail等網站上失敗(即使它不應該)。 我懷疑這是因為他們已經在使用一些不完全相同的jQuery內部版本。
我該如何解決? 也許改變我加載到其他東西的jQuery的美元符號會解決這個問題,因為它不會與jQuery的內部版本沖突。 那可能嗎?
var $j = jQuery.noConflict();
// Use jQuery via $j(...)
$j(document).ready(function(){
$j("div").hide();
});
請訪問http://code.google.com/chrome/extensions/content_scripts.html#execution-environment 。
隔離世界允許每個內容腳本對其JavaScript環境進行更改,而不必擔心與頁面或其他內容腳本沖突。 例如,內容腳本可以包含JQuery v1,頁面可以包含JQuery v2,它們不會相互沖突。
我通過內容腳本在gmail和yahoo登錄頁面上使用了JQuery,沒有任何問題。 在gmail中,密碼id是“Passwd”。 所以, $("#Passwd")
應該有效。 不知道為什么$("input[type=password]")
不起作用。 它也應該工作。
快速瀏覽Facebook的主要(縮小)腳本似乎表明他們在內部使用jQuery。 至少在腳本中有一個名為'$'的函數,所以,使用不同的名稱為您的特定jQuery對象是一個好主意。 它還將在未來防止這種問題。
Jasie的帖子展示了如何更改jQuery變量。
在jQuery 1.5中,您可以使用新的sub()函數。
$$ = jQuery.sub();
$$("input[type=password]") ..... your code here ...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.