1 頁 (共 1 頁)

[修改]Complete banner 1.3.8 的連結卡白畫面

發表於 : 2008-10-12 19:24
Artemas
原外掛文章 http://phpbb-tw.net/phpbb/viewtopic.php?t=35792

此外掛我發現在FIREFOX環境下,點選廣告後會卡在白色頁面的" 如果頁面很久還未出現,請按 這裡 進入你要求的網址" "
並且這行字,因為無法判讀語言編碼,而造成亂碼。

檢視他的原碼發現是用JS語法,此語法不支援IE以外的瀏覽器。


我提供與PHPBB原有的這種白色畫面切換改法,將可適用任何瀏覽器,並可以判讀語言編碼。

代碼: 選擇全部

#-----[ OPEN ]---- 
redirect.php

#-----[ FIND ]----- 
'REDIRECT_URL' => $redirect_url,

#-----[ AFTER, ADD ]-----
'S_CONTENT_ENCODING' => $lang['ENCODING'],

#-----[ OPEN ]---- 
/templates/SubSilver/redirect.tpl

#-----[ REPLACE WITH ]-----
#刪除所有文字然後整個取代
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
<meta http-equiv="refresh" content="1; url={REDIRECT_URL}">
<title>Redirect</title>
</head>
<body>
<div align="center">{MESSAGE}</div>
</body>
</html>

#-----[ 完成 ]-----

Re: [修改]Complete banner 1.3.8 (橫幅廣告)

發表於 : 2008-10-13 23:12
心靈捕手
Artemas 寫:原外掛文章 http://phpbb-tw.net/phpbb/viewtopic.php?t=35792

此外掛我發現在FIREFOX環境下,點選廣告後會卡在白色頁面的" 如果頁面很久還未出現,請按 這裡 進入你要求的網址" "
並且這行字,因為無法判讀語言編碼,而造成亂碼。

檢視他的原碼發現是用JS語法,此語法不支援IE以外的瀏覽器。


我提供與PHPBB原有的這種白色畫面切換改法,將可適用任何瀏覽器,並可以判讀語言編碼。

代碼: 選擇全部

#-----[ OPEN ]---- 
redirect.php

#-----[ FIND ]----- 
$content_Encoding = $lang['ENCODING'],

#-----[ REPLACE WITH ]-----
'S_CONTENT_ENCODING' => $lang['ENCODING'],

#-----[ OPEN ]---- 
/templates/SubSilver/redirect.tpl

#-----[ REPLACE WITH ]-----
#刪除所有文字然後整個取代
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset={S_CONTENT_ENCODING}" />
<meta http-equiv="refresh" content="1; url={REDIRECT_URL}">
<title>Redirect</title>
</head>
<body>
<div align="center">{MESSAGE}</div>
</body>
</html>

#-----[ 完成 ]-----
1. 會出現亂碼, 應該要檢視您的語言檔 lang_banner.php 編碼是否正確?
2. 您的 redirect.php 要修改 (取代) 的程式碼似乎有誤, 請再檢視一下;
再說, 您要取代成的程式碼, 其實是多餘的, 因為它早已存在底下檔案.
includes/page_header.php

Re: [修改]Complete banner 1.3.8 (橫幅廣告)

發表於 : 2008-10-14 00:28
Artemas
報告老師
我上面文章

代碼: 選擇全部

#-----[ FIND ]-----
$content_Encoding = $lang['ENCODING'],
寫錯了,感謝老師指正,我會修正 :oops:

另外原本外掛附的這隻 redirect.tpl 內容為

代碼: 選擇全部

<BODY><CENTER>{MESSAGE}</CENTER> 
<SCRIPT LANGUAGE="javascript"> 
setTimeout("document.all['jumplink'].click();",100); 
</SCRIPT> 
</BODY>
當我用點選設置好的廣告連結點選後, 在FIREFOX跳出這redirect.tpl的畫面,真的就卡住,不會自動進入所選連結。
而IE則是亂碼,於是我在瀏覽器產生redirect.tpl頁面之後,透過瀏覽器查閱他的原碼,就真的跟上面所顯示的是一樣的
並沒有宣告meta的編碼,而我確定lang_banner.php 編碼是UTF-8
在FIREFOX他雖沒定宣告meta,卻能自己判讀成為正常的中文字,但IE卻不會自動判讀,因此把lang_banner.php裡面的字選顯示成亂碼。

所以我才強化redirect.tpl這檔案裡頭採用meta宣告使用者所決定的語言,這不只是只有中文而已,對於其他使用者所選語系也會有翻譯效果,這方式其實只是引用PHPBB原本所採行轉換白頁時的方式^^

Re: [修改]Complete banner 1.3.8 (橫幅廣告)

發表於 : 2008-10-14 12:09
心靈捕手
Artemas 寫:當我用點選設置好的廣告連結點選後, 在FIREFOX跳出這redirect.tpl的畫面,真的就卡住,不會自動進入所選連結。
而IE則是亂碼,於是我在瀏覽器產生redirect.tpl頁面之後,透過瀏覽器查閱他的原碼,就真的跟上面所顯示的是一樣的
並沒有宣告meta的編碼,而我確定lang_banner.php 編碼是UTF-8
在FIREFOX他雖沒定宣告meta,卻能自己判讀成為正常的中文字,但IE卻不會自動判讀,因此把lang_banner.php裡面的字選顯示成亂碼。

所以我才強化redirect.tpl這檔案裡頭採用meta宣告使用者所決定的語言,這不只是只有中文而已,對於其他使用者所選語系也會有翻譯效果,這方式其實只是引用PHPBB原本所採行轉換白頁時的方式^^
我以為:
您對 Fx 的描述, 前後差異頗大. :roll:

依經驗, Fx 的確不會自動進入該連結, 而必須點選 '這裡' 後, 前往;
IE, Opera,...等, 則無論該行字是否為亂碼, 皆可自動前往該連結.