저는 Safari 확장 프로그램에서 작업 중이며 벽에 부딪혔습니다. 전역에서 주입까지 여러 줄의 데이터를 보내는 방법을 알아낼 수 없습니다. 저는이 사이트와 다른 사이트에서 잠시 동안 검색을 해왔지만 비트와 조각 만 발견했습니다. 분사는 사람들을 볼 수 없습니다Safari 확장 메시징
나는 safari.extension.secureSettings.username;
내가 전역 변수로 퍼 팅 시도했습니다 safari.extension.secureSettings.password;
글로벌
나갈 필요하지만 Heres는 것.
분사 코드
document.getElementById('local_login').style.display='';
document.getElementById('local_login_link').style.display = 'none';
document.loginForm.username.value = /*Safari Secure Settings Username*/
document.loginForm.password.value = /*Safari Secure Settings Password*/
document.getElementById('localsubmit').click();
나는 애플의 문서에서 코드를 시도하지만 분사 코드 중 하나를 실행하지 않을 것입니다.
편집 여기까지 제가 지금까지 있습니다. 나는 왜 그것이 수신되지 않거나 전송하지 않는지 잘 모르겠습니다.
Global.html
function sendCred() {
myUsername = safari.extension.secureSettings.username;
myPassword = safari.extension.secureSettings.password;
var arrayNSA = [myUsername, myPassword];
safari.self.tab.dispatchMessage("nsaArray", arrayNSA);
}
safari.application.addEventListener("messageFromNSA", sendCred, false);
Inject.js
function showForm() {
document.getElementById('local_login').style.display='';
document.getElementById('local_login_link').style.display = 'none';
document.loginForm.username.value = myNSAusername;
document.loginForm.password.value = myNSApassword;
document.getElementById('localsubmit').click();
}
function recieveCred(msgEvent) {
var nsaMessageName = msgEvent.name;
var nsaMessageData = msgEvent.message;
if (nsaMessageName === "nsaArray") {
var myNSAusername = nsaMessageData[0];
var myNSApassword = nsaMessageData[1];
showForm();
}
}
function disbatchData() {
var nflksnfll = "Give me my data";
}
safari.self.addEventListener("nsaArray", recieveCred, false);
safari.self.tab.dispatchMessage("msgFromNSA", disbatchData);
당신은 주입 된 스크립트에 글로벌 페이지에서 메시지를 보내야합니다. 도움이 필요한 경우 다음 페이지를 읽고 여기에 의견을 게시하십시오. http://developer.apple.com/library/safari/ipad/#documentation/Tools/Conceptual/SafariExtensionGuide/MessagesandProxies/MessagesandProxies.html – canisbos
나는 아직도 그것을 얻을 수 없다. 지금까지 작성한 내용을 추가 할 수 있습니다. 나는 송수신이 문제인지 아닌지 잘 모르겠다. 마치 작동하지 않는 것처럼 보인다. – WatsonN
늦게 답장을 드려 죄송합니다. Stack Overflow가 댓글을 달았을 때 이메일을 보낼 것이라고 생각했지만 그렇지 않았습니다. 아래에 답변을 추가했습니다. – canisbos