• 5

解決HTC或任何天氣主題,讓預測yahoo天氣再回來

不管你是用HTC或任何天氣主題,使用桌面的iWidgets或PerpageHTML,還是鎖屏的WinterBoard方式,原理都一樣.
只要主題是用到yahoo當天氣源的都能使用.讓消失的天氣預測再回來.

1:搜尋主題目錄中 *.*中含有 http://xml.weather.yahoo.com/forecastrss/ 字串的文件
打開文件可能是weather.js或Widget.html或Main.js或是LockBackground.html

2:找到如下文字
url="http://xml.weather.yahoo.com/forecastrss/"
var xml_request = new XMLHttpRequest();
xml_request.onload = function(e) {xml_loaded(e, xml_request, callback);}
xml_request.overrideMimeType("text/xml");
xml_request.open("GET", url+zip+'_'+varUnit+'.xml');
將上面紅字的最後一行改成下面藍色這行字,:如找不到這行,請用下方另一種yahoo天氣指令文字
xml_request.open("GET", url+zip+'&u='+varUnit+'&d=5.xml');

註:以下第3項及第4項是曾經改過不顯示預測天氣者才需要修正回來.沒改過者可忽略不需修正
3:將var showForecast = true ,可能在configureMe.js或Widget.html或Options.plist

4:記得將以下/**/刪除取消
/*obj.Today = request.responseXML.getElementsByTagName("forecast")[0].getAttribute("day");
.
.
obj.Day4Code = request.responseXML.getElementsByTagName("forecast")[4].getAttribute("code");*/

以上用ifile直接在設備上改或是將改好的檔案用iFunbox或itools覆蓋到特定主題檔案內
iWidgets目錄/var/mobile/Library/iWidgets
PerpageHTML目錄/var/mobile/Library/PerPageHTML
WinterBoard目錄/Library/Themes/

重新開機或Respring,消失的預測天氣就又回來了.
顯示結果如圖:
解決HTC或任何天氣主題,讓預測yahoo天氣再回來

我是參考F0079大分享的Animated Weather主題程式碼,特別要感謝F0079大

-----------------------------
另一種預測yahoo天氣指令行,方法同上面,只是指令行文字不同而已.

例如UniAW6_iW的iwidgets的使用的方式如下
修改UniAW6.js及JavaScript/Main/UniAW6.js二個檔案
找到
var url="http://xml.weather.yahoo.com/forecastrss/" + zip + "_" + tempUnit + ".xml";
將上面紅色字改成下面藍色文字.
var url="http://xml.weather.yahoo.com/forecastrss/" + zip + "&u=" + tempUnit + "&d=5.xml";

不限定UniAW6_iW才能使用,只要程式碼中有使用以下文字均可適用.
var url="http://xml.weather.yahoo.com/forecastrss/" +zip+.....

重新開機或Respring,顯示結果如圖:
解決HTC或任何天氣主題,讓預測yahoo天氣再回來

==================
6月7日更新
限用iWidgets可加入互動式選擇使用新的或舊指令
在Options.plist中加入
<dict>
<key>name</key>
<string>yahoo_get</string>
<key>type</key>
<string>select</string>
<key>label</key>
<string>Yahoo Get</string>
<key>default</key>
<string>5.xml</string>
<key>options</key>
<dict>
<key>5.xml</key>
<string>5.xml</string>
<key>.xml</key>
<string>.xml</string>
</dict>
</dict>

再修改weather.js加入
if (yahoo_get == "5.xml")
{
xml_request.open("GET", url+zip+'&u='+varUnit+'&d=5.xml');
}
else
{
xml_request.open("GET", url+zip+'_'+varUnit+'.xml');
}
2013-06-03 15:52 發佈
感謝

依您的方法修改,我的HTC天氣又回來啦!

謝謝啦!
修改weather.js後果然解決問題~感謝大大技術分享^^
照著m大的方式修改後,預測天氣真的回來了!
真的很感謝您幫了一個大忙~

我昨天也在研究修改的方式找了很久.....
所有的天氣全都回來了
真是太感謝了
讚!
myavpenguin wrote:
不管是你的HTC...(恕刪)

棒......有努力有成果


果然所有的師兄弟都歸位了!
真的是太厲害了!





F0079 wrote:
棒......有努力...(恕刪)

這次真的要感謝F0079大,讓我用最笨的程式碼對照法找出這行文字,否則我也找不出來.

這個不只有HTC能用,只要有用到yahoo為預測天氣源的都能使用.

那天yahoo又發瘋,又改了 http://xml.weather.yahoo.com/forecastrss/ 的GET值.
到那時有用yahoo為天氣源的,還是會再發生一次大家的天氣預測全部消失的問題.反正到時候也是一定有辦法的,除非yahoo關了天氣
大大不是很明白可以釋出檔案或告訴那裡更改謝謝分享感恩
請問可以給我改過的檔案嗎?我直接覆蓋就好了~感恩!
  • 5
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?