patw 的筆記、生活、隨筆
Posts tagged javascript
[JavaScript] 判斷手機為直向或橫向
四月 23rd
最近在製作手機版的 Event Site,發現許多眉眉角角的東西要不斷地調校。
iOS 也許還好,頂多就是 iPhone 跟 iPad 的差異。
但 Android 就麻煩多了,要顧及各種版本與螢幕大小。喔對了,還有不同瀏覽器的問題。
本例想利用 JavaScript 來判斷使用者的行動裝置正在使用直向或橫向瀏覽,
若非我們預設的瀏覽方向,需秀出警語或遮罩。
當然也可以選擇 CSS 的方式來製作,可以搜尋 "orientation css" 這樣的關鍵字,可以找到許多做法。
但有時候還是需要 JavaScript 的事件來控制一些流程。
以下是在
- SAMSUNG I9100 (Android 4.0.3): 內建瀏覽器、海豚瀏覽器 8.0.0、Chrome Beta 0.18.4409.2396、Opera Mobile 12.00.ADR-1203051631
- Sony XPERIA S: 內建瀏覽器
- HTC ONE X: 內建瀏覽器
- SonyEricsson Xperia Arc S: 內建瀏覽器
- Apple iPhone 3GS 內建瀏覽器(Safari)
- Apple iPhone 4S 內建瀏覽器(Safari)
- Apple iPad2: 內建瀏覽器(Safari)
測試過 OK。
以下是 Code:
More >
在 IE9 中 ExternalInterface.call 無法作用的解決方法
四月 20th
由於要在網頁中呼叫 Flash 裡面用 ExternalInterface.addCallback 加入的事件,
除了 HTML 中Flash 物件加入時要設定 id & name,還有 allowScriptAccess params 使其允許、AS 中也要加入 flash.system.Security.allowDomain(sourceDomain) 外,
在不同瀏覽器上也會因為 js 抓取 flash 物件的方式不同而要個別判斷。
Calling a custom FLASH method from IE7 & IE8 – stackOverflow 提供了一個方法,可通用於 IE, Chrome, Firefox:
function thisMovie(movieName) {
return document[movieName] || window[movieName];
}
然後如果要 call Flash 中的 function 的話可以這樣寫:
function callExtFunction(g){
var flash = thisMovie('flash物件的id&name');
if (flash) { flash.flashFunction名稱(g); }
}
就醬子。
[網頁] Flash ExternalInterface.call Javascript 方法,於 IE 引發「’null’ 是 null 或不是一個物件」錯誤的解法
四月 28th
最近這個案子,有使用到 Flash ExternalInterface.call 網頁上的 Javascript function 的動作,測試過程中,於 IE 中一直會引發下面這段錯誤訊息:
訊息: ‘null’ 是 null 或不是一個物件
行: 1
字元: 111
程式碼: 0
[AJAX] 跨網域取得/存取資料
十二月 21st
[AS3][JavaScript] Facebook 發佈訊息的方法
十一月 29th
本篇延續 [AS3] Facebook 朋友列表在 Flash 中用捲軸方式呈現 這篇,一樣用 Jozef Chúťka 前輩所寫的 Facebook AS3 Graph API 作法,來發佈訊息到塗鴉牆上。(由於 Connect 時就應用程式就會要求發佈塗鴉牆的權限,因此這種方法就不會跳出任何發佈視窗喔)
此外也附加了一個以 JavaScript 方式發佈塗鴉牆的方法,這個就會跳出常見的發佈訊息小視窗囉。可以依需求搭配使用~
Facebook AS3 Connect 方法在此一樣不提,請自行參考教學連結。
※ 其中要注意的是,發佈時需發佈成 Flash Player 10 版本,否則在 IE 中會無法在 connect 後正確 authorized!會一直跳出 callback.htm 頁面卻無法正確授權。為了這個問題卡很久,需特別注意。
[ASP.NET] 在文字框中按下 Enter 指定按下某顆送出鈕
四月 1st
在作專案的時候遇到的問題。當我在某文字框按下 Enter 要做送出時,卻不是送出該文字框對應的送出鈕(文字框控制項有對應的送出鈕的屬性嗎?好像沒看到…)。
網上有些作法是 Code Behind 中將該文字框加上 Enter 的 keycode 偵測,再 return false; ,使送出失效,但不是很好的作法,對使用者不是很友善哩。再找了一下,以下這種方法就能對應想要的送出鈕了。
對了,這種方法也可以通用於加上 UpdatePanel 的頁面,不會只有第一次有效。
txtSearch.Attributes.Add("onkeydown", "if (event.keyCode==13){document.getElementById('" + btnSearch.ClientID + "').focus();return true;}")
※ txtSearch 是文字框控制項 ID,而 btnSearch 是送出鈕控制項。
近期迴響