研究 XMLHttpRequest 時,改了半天還是弄不起來,老是出現 “Error: uncaught exception: Permission denied to call method XMLHttpRequest.open
“,用 Google 找半天看不出什麼原因,只看出跟安全性問題有關,但是也沒有說要怎麼解決。
想了一陣子才想到我這邊使用 XMLHttpRequest.open() 時是去 Flickr API (www.flickr.com) 抓,而不是同一個 site 下面的 url,把 url 改回同個 site 下面就馬上 okay 了。
於是我就試看看:用 Redirect 把某個目錄的 URL 導到 Flickr API,結果發現 XMLHttpRequest 居然抓到 Redirect 的頁面而不是 Flickr API…
這樣就很奇怪了:那我之前看到的 LfVr 是怎麼做到的?突然想到 LfVr 似乎是用 FlickrJS (參考 Flickr API 上 LfVr – a Lightweight flickr Viewer 的說明),於是跑去抓 FlickrJS 0.5 下來看,發現…
/*
* flickr.proxy.php,
* this is an interface between the Flickr API wrapper
* and the REST methods from flickr.com
原來大家的做法都一樣,都是寫一個 flickr.proxy.php 之類的東西過一次水,然後再透過 cache 加速… *boom*