[問題] iframe如何送access token -已解決

作者: greenfish27   2018-05-29 19:14:33
(補上作法於下方,謝謝Gold740716)
大家好,我正在修改一個問題遇到了困難,想聽聽前輩們的各式建議 Q Q
以前iframe取跨網站的網頁A都運作良好
最近網頁A增加了token認證,所以要修改iframe呼叫
我不知道該如何在 iframe.src = A網頁url; 時就帶有token
試過使用 var xhr = new XMLHttpRequest();
給定 xhr.setRequestHeader('Authorization', 'Bearer 123');
iframe.srcdoc = this.reponse;
雖然的確可以取回頁面資訊呈現,不過版面卻亂糟糟的orz
**************調整方式**************
使用srcdoc填入html並不會觸發script內容,這是我版面排版亂掉的原因
所以將上方亮紫部份改用contentWindow.document.write即可
iframe.contentWindow.document.open();
iframe.contentWindow.document.write(this.response);
iframe.contentWindow.document.close();
ref: https://harttle.land/2016/04/14/iframe-script-injection.html
************************************
或是我不該使用iframe 該換用怎樣的容器呢?
(嗚嗚 公司也不允許用jq等套件,有看到網路一些是用.ajax post成功後
去修改iframe.src的方法我就沒試了..)
謝謝~
作者: Gold740716 (項為之強)   2018-05-29 21:07:00
搞不好用 service worker onfetch 事件可以攔到 iframe 發的 request ,再手動加 header我之前是習慣用 iframe.contentDocument.write(html)
作者: greenfish27   2018-05-29 22:52:00
謝謝Gold大大!onfetch感覺太黑科技 我應該一時半刻駕馭不了,不過document.write好像很有希望感(握拳) 原來許多26外掛廣告都是用這招呀 奮鬥試驗中
作者: Gold740716 (項為之強)   2018-05-31 20:07:00
或覺 document.write 和 srcdoc 應該差不多啊^感覺另外如果 .write() 後沒有 .close() 會一直轉圈圈。正常應該是 .open() .write(html) .close()

Links booklink

Contact Us: admin [ a t ] ucptt.com