2014年9月2日 星期二

如何搞出隨機首頁圖片?

下面這段不能貼在 <b:skin></b:skin>(或是 </head> 前) 裡,要放在 <body> 後。這篇寫的資料待求證。(因為我的網誌套用不了 〒△〒)

現行程式碼:


我一開始想用 C 語言的 struct 那樣方式來自行定義,但是 Javascript 不支援那種寫法,所以我就用兩個陣列,後來又改成一個陣列。

但我幾個月前看到 json 這東西。又因為面試完回來查資料時發現有 Object literal 這東西,雖然我到現在還沒搞懂它到底是什麼意思,反正就是這麼用了。原本查資料的時候有看到「json 不支援註解」這件事,但我在改的時候想到乾脆把註解也寫到一個欄位就好了。另一點是「中文需要轉碼」這件事,不過我是直接寫在檔案裡而不是還要另外下載並解碼,我覺得編碼這件事可以先省略掉。

改成這種寫法後,優點還蠻明顯的,就是圖片跟網址在程式碼中變成 banner[random].urlbanner[random].height。這樣程式碼不僅好寫而且也好讀很多啊!



其實當年有人提出另一個寫法的時候,就有把 banner.length 減一了。如果我當年就看得懂他寫的東西,這樣我就不用等那麼久之後才發現這個 Bug 的原因了。

您好, 小弟不小心闖進了閣下的地盤...

OK, 閣下 BLOG 蠻有趣的, 小弟不才, 野人獻曝, 也許可以幫助解決 "有時會出現,而有些時候不會出現" 的問題

首先, 小弟玩 XOOPS 時, 也做了隨機的 LOGO, 一樣 "有時會出現,而有些時候不會出現"

研究結果, "可能"是出在 Math.floor or Math.random 與 Google 某些服務有關; 巧的是, 小弟的不出現情況只發生在有使用 Google Map 的模組下... 跟 Powered bt Google 的搜尋(我也有使用)無關, 所以您查查...

我的方式, 您參考看看...

<head>
<script>
var myimages = new Array("http://lh1.ggpht.com/main_img_01.jpg", "http://lh2.ggpht.com/main_img_02.jpg", "http://lh3.ggpht.com/main_img_03.jpg");
var i = Math.floor(Math.random()*(myimages.length-1));
if (i == 0) i = 1;

function swapImage() {
document.getElementById('header').style.background='url(' + myimages[i] + ') no-repeat';
}

function PreLoadBannerImage(){//預先載入, 您可以試試
for (i = 0; i < myimages.length; i++) {
MM_preloadImages(myimages[i]);
}
}

window.onload = function () {
swapImage();
}
</script>
</head>
<body">

這是正常情況下的作法, 我幫您改好了, id 也是 header

但我突然發現, 不知 blogspot 是否允許修改 <body"> 內的東西(不熟 blogspot), 因為我為了預防 "不會出現" 的情況, 在 <body"> 內也放了這一段 <script>document.write('<div id="header" style="background-image: url(' + myimages[i] + '); background-repeat: no-repeat;">');</script> 以取代 id="header" ...

您參考囉

最後提醒:
因為 Flickr 社群規定,所以不能放首頁圖等東西於 Flickr 裡。我的做法是將他放於 Picasa 裡,普通網誌圖才放到 Flickr。

2014年4月26日 星期六

Boot Camp: 因為官網也有空格

Boot Camp 這東西是在 Mac 下想要用全硬體的 Windows 必須要使用的輔助工具。

以上都不是這篇的重點。

我這台 13" MacBook Pro 2011 Late,當初似乎是給 Boot Camp X.0 的樣子。而那時候用 Boot Camp 下載下來的驅動程式可是有包含 Windwos 7 32bit 的驅動程式。但是我昨天同樣是用 Boot Camp 抓完最新版驅動程式後,在 Boot Camp 下的 Windows 7 要安裝驅動程式時,他跳出視窗說「此檔案的版本與您執行的 Windows 版本不相容。請檢查電腦的系統資訊,判斷您需要 x86(32 位元)或 x64(64 位元)版本的程式,然後連絡軟體發行者。」。

因為我以前裝成功的經驗確定 Apple 是有驅動程式的。所以我就找啊找的~最後找到這篇文章《Boot Camp:Microsoft Windows 作業系統的系統需求》。

從裡面的連結,在《Boot Camp 支援軟體 4.0.4033》抓到 for Windows 7 32 bit 的驅動程式。

打完收工~

這邊附註一下一個東西:
  • Windows XP
    Home Edition 或 Professional,含 Service Pack 2 或 Service Pack 3(DVD 中的 Boot Camp 3
  • Windows Vista
    Home Basic、Home Premium、Business 或 Ultimate、Service Pack 1 或以上版本(DVD 中的 Boot Camp 3
  • Windows 7
    Home Premium、Professional 或 Ultimate(Boot Camp 4 或 5
  • Windows 8
    Windows 8 或 8.1、Windows 8 或 8.1 Pro(僅限 Boot Camp 5

也就是由此推知我之前 Lion 內建的 Boot Camp 是第四版的。

2014年4月9日 星期三

中國信託寰遊美國運通卡 回饋實測

這篇最主要提的就是「IKEA」、「宜家家居」不被算在中國信託定義的超市量販裡。

目前實測紀錄,以帳單上所列名稱列舉如下。

1.27% 優惠 - 好市多
好市多股份有限公司台中
COSTCO 內湖店


1% 優惠 - 量販/超市
家樂福 台北重慶分公司
家樂福 崇德店
家福股份有限公司台北內
大潤發 忠明店
大潤發 中崙店
大潤發 內湖二
松青超市 錦州二店
頂好Wellcome

1% 優惠 - 餐廳
茹絲葵 台中門市


0.3% 基本優惠 - 其他
宜家家居股份有限公司
IKEA 台中店
康是美生活藥妝店 錦州
COSTCO WHSE #0184 0000000


總結來說,可以刷美國運通的餐廳還真的蠻少的。只有高級餐廳才可以。在 1.27% 好市多回饋對象只限台灣地區的。在國外刷卡無論何種類別一律算 0.3%。

不過要提的是這張卡在國外刷美金的話手續費不是美國運通所收的 2%,也不會是一般國際交易所收的 1.5%,而是 0.5%。再加上 0.3% 的回饋,幾乎就是收 0.2% 的手續費。結論就是如果在國外的好市多要買東西,可以刷這張。

官方網站:寰遊美國運通卡

產業類別適用範圍
量販/超市
家樂福、大潤發、愛買吉安。
頂好超市、松青超市、楓康超市、以及其他商店名稱含「超市」或「超級市場」字樣且行業代碼登記為「生鮮超市」商店。
不屬於上述說明之商店,不適用現金回饋。
註:全聯福利中心,目前並非美國運通組織收單商店,因此暫不提供AE卡刷卡服務。
保險行業代碼登記為「保險」的保險公司。(含壽險與產險)
餐廳王品台塑牛排、西堤牛排、陶板屋、上閤屋、Friday's、爭鮮迴轉壽司、以及其他行業代碼登記為「餐廳」商店,不含飯店、百貨、美食街賣場之餐廳

2014年1月30日 星期四

What the shit is Samsung Galaxy S4 i959?

前篇在 《Galaxy S i909 客製機開箱》。當時沒發現是因為台灣亞太電信剛好有出客製機,所以才有包好的台灣版韌體可以刷。

這次的 i959 (Samsung Galaxy S4 中國電信天翼客製機)就沒有那個方法可以直接用了,因為台灣亞太電信並沒有進這一款手機,所以當然沒有台灣版的韌體可以抓來刷。

我原本找到的方法是直接裝 Google Play 的 apk 檔。後來雖然裝成功,但是一進 Google Play 就會閃退。上網找到的解法「安裝 GoogleServicesFramework.apk 與 GoogleLoginService.apk」,是成功解決掉閃退的問題,進入 Google Play 的時候成功登入 Google,連搜尋 Minion Rush 都可以出現搜尋建議,可是就是無法載入商店畫面。

後來我不爽了,就先把 i959 的 rom 給刷掉。跟 i909 一樣都是用 Odin 這個工具配上有人整理好的檔案。
  1. 三网i959三星Galaxy S4增大内存至11.89GB,刷Recovery,完美root!要的来啊!
    [各版本差異可以看《三网SCH-I959官方各个系统救砖必备,官方A版4件套,C版4件套,(F版4.3)5件套》]
  2. 所需檔案載點:
  3. 刷机必备:odin3.09.zip、 I959KEUFMK3[5件套C版4.3].rar
上面那個論壇要加入會員才看的到圖。

在這邊順手用文字記錄一下步驟。會要刷這版韌體純粹是因為會有比較大的可用空間。

首先是先去抓 Samsung 打算要拿來跟 iTunes 打對台的 Kies 安裝檔,裡面會有驅動程式。我是直接在台灣官網抓。因為這台是 Galaxy S4 的客製機,所以仍是抓 Kies。而不是 Android OS 4.3 以後用的 Kies3。

那篇文章提到的 SAMSUNG_USB_Driver_for_Mobile_Phones.exe 好像就是 Kies 裡面的其中一個驅動程式。

安裝完驅動後,把手機切成「Download 模式」再將下載的 Odin v3.09 打開。確認 ID:COM 下方有出現任何一個號碼的 Com port number。右方的那幾項按照下面寫的選擇檔案。
  1. PIT:JA3G_CHN_CTC_16G_F.pit
  2. BL:BL_I959KEUFMK3_2098067_REV00_user_low_ship.tar.md5
  3. AP:AP_I959KEUFMK3_2098067_REV00_user_low_ship.tar.md5
  4. CP:CP_I959KEUFMK2_2076812_REV00_user_low_ship.tar.md5
  5. CSC:CSC_CTC_I959CTCFMK3_2098067_REV00_user_low_ship.tar.md5
把左方 Option 的 Auto Reboot、 Re-Partition、 F. Reset Time 這三項打勾。設定完成後就可以按下方的 Start 了。

Download 模式:先關機。按著「音量下」、「Home」,再按「電源鍵」。等到開到有畫面後,用「音量上」選擇。

在這邊要註記一下我所遇到的問題。

AP_I959KEUFMK3_2098067_REV00_user_low_ship.tar.md5 這個檔案在 Mac 是 2.13 GB。以 Windows 來計算的話就是 1.98 GB,雖然跟 Fat32 的單檔最大 4GB 完全沒關係,可是我當時用 VMware 模擬出的環境就是在選擇 AP 這檔案的時候會有問題。我後來的解法是不用「映射桌面讓他直接從桌面讀取」或「VMware 掛載的網路磁碟機」,而是改採直接把檔案複製一份到 VMware 裡格式化出來的 C 槽下。這樣就可以成功的載入 AP_xxx.tar.md5 了。

不過到刷 root 的時候,我就不是用上面的方法了。上面是說用一個 Recovery 來做,但我是看到有人介紹兩款可以直接刷成 root 的軟體,比較之後就是用完美 ROOT

因為 【推薦】兩款Android刷機助手,讓您一鍵取得超級使用者權限(Root) 這篇文章提到的另一個 root 工具「刷机大师」,我安裝完後,他直接在手機裡安裝兩個 app。這種感覺很糟糕。

這些 root 工具都是靠工程師的 USB Debug 模式來達成 root。 Samsung i959 這台預設把開發人員選項給隱藏起來。開啟的方法是在「設定」>「更多」>「關於裝置」,找到「內部版本號」的那個選項。接著就是狂點那一行了,點了三、四下之後,就會有倒數提示,說還要點幾下才會啟用「開發人員選項」,繼續點下去就可以開啟該功能了。在裡面找「USB 除錯」選項來讓裝置 root。

說到「USB 除錯」,之前 i909 有一次就是不小心開了那個選項,導致沒辦法正常用 USB 傳輸資料。就是那一次,「某人」說她不會再問我電子產品的問題了。

結果「某人」這次看到我還是問我要怎麼把 Google 通訊錄傳到大陸客製機。我當時內心真的是想著「管你去死 = =」,自己要去買垃圾大陸手機。我當時還沒不知道大陸版是把所有 Google 相關東西全部都移除掉的。他們一直在那邊吵著說啥「這是續約免費的」、「不是用買的」,我自己覺得「那關我啥事」。叫你們買 iPhone 自己去亂買 Samsung,不會用想要怪誰啊。我才沒有必要要去教你咧。誰叫你自己不買 iPhone。

就算要貼錢,買一台好手機,會比買一檯被閹割到無法人道的免錢手機好用上幾百倍。花時間找資料把那閹掉的東西裝回去的精力以及遇到的幹事,絕對不是多貼的那一些錢可以彌補的。

找不到資料的感覺就是幹翻天!!!

話說前幾天有人(Marc Lin)因為紅米手機便宜而去買了一台。我今天聽到他在那邊幹說啥都要自己做,一堆東西都要自己重裝。買東西回來簡單用就好了,還要改來改去,真的是沒事找麻煩。

--

到這邊已經重新刷完韌體,並且 root 過裝置了。如果不需要刷機子的話也可以直接 root 機子就好了。

接下來要做的就是把 Google Services Pack 安裝起來就有 Google Play 可以來安裝剩下的剩下的 Google 服務。

--

這邊需要準備 Root Explorer 來更改檔案權限。而這個工具想要「正常使用」的前提條件就是裝置有 root 過。因為程式名稱就這樣寫了 XDDDD。

為什麼會用 i9500-google4.2.zip (這是所需檔案的載點)去搜尋「谷歌服务包」我已經忘記了。反正就是這樣找 orz。

當時我已經自暴自棄了。因為找不到 i959 的 Google Service 教學。所以我就乾脆自暴自棄的刷 i9500 用的版本。當時我內心的想法是這兩台差不多,所以就祈禱可以用吧。

我自己的做法是把檔案全都丟到手機裡,用 Root Explorer 把那些(以上面那載點內的檔案來說是九個) app 複製到 system/app 下。再用 RE 手動一個一個改權限。改完權限後重新開機。

就是這樣而已。

改權限那點我是參照下面這篇的「四【刷入谷歌服务包(GMS)】」那張權限設定照片。
三星GT-S7562i [Rom分享][刷機教程][Root教程][刷入谷歌服務包(GMS)]個人心得

因為刷機的關係(?)所以我在 i959 上看到的都是英文版的 Root Explorer。在要修改權限的 apk 上長按,等他跳出選單,選「權限」。總共有三欄, Owner、 Group、 Others,每一欄都有 Read、 Write、 Execute 這三種動作。把 Owner 的 Read 跟 Write 都打勾,再把 Group 與 Others 的 Read 打勾(Write 不要勾), Execute 整欄都留空,這樣就完成權限的調整了。

ReadWriteExecute
OwnerVV
GroupVV
OthersVV

完成設定的樣子應該要跟上面這表格黑色部分一樣。紅色粗體那兩個是要刪掉的。

就這樣啦~半夜三點三十三分了。大致上都寫了啦~~~