1
我嘗試在Twitter的.com網頁上發起點擊事件。但是,當我在我的擴展中嘗試代碼時,它不起作用。在twitter chrome擴展中啓動點擊事件
if(typeof TIP == 'undefined'){
var TIP = {};
}
TIP.Tweets = {
getNumberOfTweets: function(){
var tweets = $('#stream-items-id .js-stream-item').length;
return tweets;
},
setNumberOfTweets: function(number){
TIP.Tweets.currentNumberOfTweets = number;
}
}
TIP.initiate = function(){
TIP.Tweets.currentNumberOfTweet = TIP.Tweets.getNumberOfTweets();
setInterval(function(){
var tweets = TIP.Tweets.getNumberOfTweets();
if(TIP.Tweets.currentNumberOfTweets != tweets){
TIP.Tweets.setNumberOfTweets(tweets);
TIP.renderImages();
}
}, 100);
//Render images
TIP.renderImages();
}
TIP.renderImages = function(){
$('#stream-items-id .js-view-details').each(function(){
var btn = this
if($.trim($(this).text()) == 'View photo'){
$(btn).click();//This is the button I want to click, which is the view photo button
console.log('rendered');
}
});
}
$(function(){
TIP.initiate();
});
但是,當我嘗試手動插入代碼它的作品。我在Google Chrome的控制檯中插入以下代碼:
$('#stream-items-id .js-view-details').each(function(){
var btn = this
if($.trim($(this).text()) == 'View photo'){
$(btn).click();
console.log('rendered');
}
});
如果我嘗試做其他事情而不是發起點擊事件。它工作正常。例如,如果我想操縱按鈕的內部html。它在擴展代碼中工作正常。只有當我嘗試在擴展中啓動點擊時,纔會出現此問題。
請求manifest.json檔案:
{
"name": "Twitter Image Previewer",
"version": "1.0",
"description": "Enables image previews in tweets",
"browser_action": {
"default_icon": "icon.png"
},
"content_scripts": [
{
"matches": ["http://twitter.com/*", "https://twitter.com/*"],
"css": ["style.css"],
"js": ["jquery.min.js", "JeasyCreate.js", "extension.js"],
"all_frames": true
}
],
"permissions": [
"http://*/",
"https://*/"
]
}
我可以自己回答我的問題。我認爲通過擴展程序啓動點擊事件在Google Chrome中被禁止,因爲安全原因 – einstein 2012-03-25 12:31:49
此代碼是如何執行的?你能顯示'manifest.json'嗎? – 2012-03-25 13:20:05
Rob W檢查上面的manifest.json。我更新了它。 – einstein 2012-03-25 13:22:59