プライバシー設定を読み取るための Firefox 拡張機能を作成しています。私は PageWorkers を使用して、さまざまな Web サイトをナビゲートしています。ただし、一部のサイトは機能しており、他のサイトは開きません。
function visitWebsite(url, flowURL){
var profile_website = pageWorkers.Page({
contentURL: url,
contentScriptFile: [data.url('jquery-1.6.4.js'),
flowURL,
data.url('extract_algorithm.js'),
data.url('ProfileSettings/profile_controller.js')],
contentScriptWhen: "ready"
});
//event triggers, when all profile settings were loaded from a site from profile_controller
profile_website.port.on('profile_results', function(profile_results){
add_to_all_results(profile_results);
});
}
function checkProfileSettings(){
visitWebsite("http://www.facebook.com/editprofile.php?sk=basic", data.url('ProfileSettings/Flow_Site1.js'));
visitWebsite("http://www.facebook.com/editprofile.php?sk=relationships", data.url('ProfileSettings/Flow_Site2.js'));
visitWebsite("http://www.facebook.com/editprofile.php?sk=eduwork", data.url('ProfileSettings/Flow_Site3.js'));
visitWebsite("http://www.facebook.com/editprofile.php?sk=philosophy", data.url('ProfileSettings/Flow_Site4.js'));
visitWebsite("http://www.facebook.com/editprofile.php?sk=entertainment", data.url('ProfileSettings/Flow_Site5.js'));
visitWebsite("http://www.facebook.com/editprofile.php?sk=sports", data.url('ProfileSettings/Flow_Site6.js'));
visitWebsite("http://www.facebook.com/editprofile.php?sk=activities", data.url('ProfileSettings/Flow_Site7.js'));
visitWebsite("http://www.facebook.com/editprofile.php?sk=contact", data.url('ProfileSettings/Flow_Site8.js'));
}
Flow_SiteX.js
には読み出し用のパラメーターが含まれていますが、profile_controller.js でテストしましconsole.log($('.label').text()))
た。すべてのサイトに少なくとも 1 つのクラスが.label
あるため、出力が必要です。サイトの基本、関係、哲学、エンターテイメントは常に完璧に機能しています。しかし、PageWorker はスポーツやアクティビティをまったく開いていないようです!? eduwork は機能している場合もあれば、機能していない場合もあります。ええと、なぜいくつかのサイトが機能していて、いくつかのサイトが機能していないのかわかりません...checkProfileSettings()
たとえば、メモリがいっぱいか何かがいっぱいだと思ったので、スポーツのみで試しましたが、どちらも機能しませんでした...
ありがとうございました!:)
編集:私は少しテストを書きました
main.js
var data = require("self").data;
var pageWorkers = require("page-worker");
var timers = require("timers");
function TestvisitWebsite(url, flowURL){
var profile_website = pageWorkers.Page({
contentURL: url,
contentScriptFile: [data.url('jquery-1.6.4.js'),
data.url('script.js')],
contentScriptWhen: "ready"
});
}
function testcheck()
{
TestvisitWebsite("http://www.facebook.com/editprofile.php?sk=sports", "aaa");
}
var timeout = timers.setInterval(function()
{
testcheck();
}, 1000);
script.js:
function combobox_by_name(ID_of_name){
console.log("Testoutput - " + $('select[name=audience\\[' + ID_of_name + '\\]\\[value\\]] option:selected').text());
}
combobox_by_name(129991670408857);
面白い出力は次のようになります。
Freunde はドイツ語で「友達」を意味し、正しい出力ですが、たまにだけ!? たとえばhttp://www.facebook.com/editprofile.php?sk=basicで試してみると、常に機能します。