小型光學遊戲滑鼠Razer DeathAdder V2 Mini發表   《Final Fantasy 水晶編年史 Remastered》超豪華免費體驗版「FFCC Remastered Lite」於8月27日發布確定!   春天來了!Nintendo Switch Lite 「珊瑚色」新登場!   NSO會員限定免費暢玩又來了!這次試玩擁有大量好評的《Celeste(蔚藍)》   遊戲指南教你如何在《Demon’s Souls》的初期生存下來   Chilla’s Art最新恐怖遊戲《怨霊》4月25日發售   尊榮劍術:信守《Ghost of Tsushima》的「致命約定」與戰鬥平衡   Razer vs. SHARP!真正的遊戲口罩是那款?口罩使用感大對決! 

Flash 如何抓取目前網頁的網址

Flash 要抓取目前此頁面的網址, 要如何做?

註: Flash + HTML 如何寫才能抓到目前頁面網址.

Flash 抓取目前頁面網址 的 寫法

Flash 要抓取目前頁面的網址, 需要靠 JavaScript 抓取才行, 所以寫法如下述:

View Raw Code?
  1. import flash.external.ExternalInterface;
  2. var pageURL = ExternalInterface.call(‘window.location.href.toString’);
  3. // 註: pageURL 就是現在的頁面網址
完整範例
View Raw Code?
  1. on (release) {
  2.     import flash.external.ExternalInterface;
  3.     var pageURL = ExternalInterface.call(‘window.location.href.toString’);
  4.     getURL(“http://example.com/?current_page_url=” + escape(pageURL), “_blank”);
  5. }

Flash 抓取目前網址 的 SWF 放入網頁

把產生出來的 swf 去試跑看看, HTML 如下述:

<embed src="http://example.com/test.swf" width="100" height="100"></embed>

發現只有 Firefox 可以抓到目前頁面的網址, Chrome 和 IE 都抓不到.

於是對 embed 加點工, 改成下述:

<embed allowscriptaccess="always" src="http://example.com/test.swf" width="100" height="100"></embed>

發現 Firefox 和 Chrome 可以抓到目前頁面的網址, 但是 IE 都還是抓不到.

於是研究 OBJECT 與 EMBED 的寫法差別, 詳可見: Flash / HTML Object 標籤的 classid 如何寫?

要讓 IE 抓到目前頁面網址, 需要用 OBJECT + Param “allowScriptAccess always” + id (id 可以隨意指定一個唯一值).

總結

IE 需要

Firefox、Chrome 需要

完整 嵌入 Flash 的 HTML 範例如下:

View Raw Code?
  1. <object classid=”clsid:d27cdb6e-ae6d-11cf-96b8-444553540000″ width=”100″ height=”100″ id=”example01″>
  2.     <param name=”movie” value=”http://example.com/test.swf”/>
  3.     <param name=”allowScriptAccess” value=”always”>
  4.     <embed allowscriptaccess=”always” src=”http://example.com/test.swf” width=”100″ height=”100″></embed>
  5. </object>

註: 上述為最精簡的寫法, 需要 codebase 或其它參數, 請在自行補上.

以上 Flash + HTML 搭配起來, 在 IE、Chrome、FireFox  就都可以抓到目前網址囉~

轉載網站

相關文章