1. 通過猴油註冊指令碼,用js填寫表單
問題:由於apple官網採用了自己封裝的mvvm框架,如果只是賦值的話,還不能把檢視上的資料更新到model上,必須觸發一下表單元素的input事件或者change事件完成model的更新
var _e = new Event('input')
document.getElementsByTagName('input')[4].value = '張'
document.getElementsByTagName('input')[4].dispatchEvent(_e)
2. 由於apple官網加了csp,導致不能連線不用域的http和ws,所以只能新開一個iframe,通過該iframe連線伺服器獲取資料,再傳送回apple官網
window.addEventListener('message', function(rs){
console.log(rs);
if (rs.origin === 'https://test.auto0917.com') {
}
});
var iframe = document.createElement("iframe");
document.querySelector("body").appendChild(iframe);
iframe.setAttribute("src","https://test.auto0917.com/test.html");
注意子頁面傳送訊息時會有同源策略問題,所有必須用top.postMessage,不能用parant.pos
window.top.postMessage('hahah', 'https://appleid.apple.com/account#!&page=create')