する必要があります他の回答が指摘(domain == face)
であり、このはになります。
ただし、スクリプトが期待どおりに動作しないようにすることはできません。
主な問題は、Chromeのuserscriptでターゲットページで定義されたJSを使用できないことです。あなたはそうのように、ページにコードを挿入する必要があります。
function functionToInject() {
function myCode() {
/*--- This is where you put everything you want to do that
requires use of the page's javascript.
*/
var face = "facebook.com"
var domain = document.domain
if (domain == face)
{
Chat.openTab ("sam.sebastian1", "Seb");
}
}
myCode();
}
function addJS_Node (text, s_URL) {
var scriptNode = document.createElement ('script');
scriptNode.type = "text/javascript";
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
var targ = document.getElementsByTagName('head')[0]
|| document.body || document.documentElement;
targ.appendChild (scriptNode);
}
addJS_Node ('(' + functionToInject.toString() + ')()');
基本的な答えだったこと。 これはFacebookなので、物事は少し複雑です。
- Facebookは多くのiFramesを読み込み、スクリプトはそれらの多くでトリガーされます。
Chat
オブジェクトはすぐに読み込まれません。
これらの障害を回避するために、リソースが見つかるまでコードを実行しようとしないタイマーを設定しました。そのよう
:jsの中
function functionToInject() {
function myCode() {
/*--- This is where you put everything you want to do that
requires use of the page's javascript.
*/
var face = "facebook.com"
var domain = document.domain
if (domain == face)
{
Chat.openTab ("sam.sebastian1", "Seb");
}
}
var waitForKeyElements = setInterval (checkForElement, 500);
function checkForElement() {
if (typeof Chat != "undefined") {
clearInterval (waitForKeyElements);
myCode();
}
}
}
function addJS_Node (text, s_URL) {
var scriptNode = document.createElement ('script');
scriptNode.type = "text/javascript";
if (text) scriptNode.textContent = text;
if (s_URL) scriptNode.src = s_URL;
var targ = document.getElementsByTagName('head')[0]
|| document.body || document.documentElement;
targ.appendChild (scriptNode);
}
addJS_Node ('(' + functionToInject.toString() + ')()');
の比較は、 '=='で、 '=' – zerkms