다른 답변 지적 (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이기 때문에 상황이 좀 더 복잡합니다.
- 페이스 북은 많은 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