A HA! 心情雜物間

關於部落格
完成編輯
專供個人碎碎念的心得小屋,或是好物分享~~ ^_^

近日發現有色情業者留言洗版的狀況發生,一經發現,留言立刪。

「設定首頁」與「我的最愛」的語法(包含FLASH的呼叫方式)

這是個最簡單也最常用的語法,先來看範例:

 

將本站設為首頁    加入我的最愛

 

語法:

 <a href="#" OnClick="this.style.behavior='url(#default#homepage)';this.setHomePage('網址');">將本站設為首頁</a>

<a href="javascript:window.external.AddFavorite('網址','我的最愛中顯示名稱')">加入我的最愛</a>

 

現在很多網站都是用 FLASH 所建置,
因此這裡也順便提供 FLASH 設定方法。

首先,在要嵌入 FLASH 元件的網頁中加入以下程式:

 

<script language="JavaScript">
<!--
function sethomepage() {

document.body.style.behavior='url(#default#homepage)';
document.body.setHomePage('網址');

}
//-->
</script>

 

接著,在 FLASH 中要執行「設定首頁」或「我的最愛」的元件上加入以下 Action Script:

 

on (release) {
 getURL("javascript:sethomepage();", "_self");
}

 

這樣就行了,試試看吧~~ ^_^

 

此外,提供幾個不錯的網站給大家:

 

 

 


 

【2007/05/03 補充】


這幾天有人跟我說這段語法無法使用,
我試過後發現真的有問題,
不過當初寫下這程式碼時是真的可以用的,
唯一合理的解釋就是這段日子以來微軟的安全性機制在作祟。

這是很有可能的,
只消看現在網頁上的 FLASH 元件都變成要點擊才能執行的狀態便可略知一二。

我上網查了一下有關 FLASH 設為首頁的語法,
幾乎每一篇都是說在 FLASH 的按鈕上這樣加:

 

首頁語法:

getURL("javascript:void(document.links[0].style.behavior='url(#default#homepage)');void document.links[0].setHomePage('網址');", "_self", "POST");

 

我的最愛語法:

getURL("javascript:void window.external.AddFavorite('網址','我的最愛中顯示名稱');", "_self", "POST");

 

 

實作後發現 FLASH 按鈕根本沒有動靜,
而且是跟 JavaScript 互動語法有關的都沒有用,
會出現類似這樣的訊息方塊:

 

 

上網查了一下,
這是跟 FLASH 8 新增的安全性機制有關係,
如果是使用 FLASH 8 可以參考「swf_com_tw » 使用JavaScript程式操控瀏覽器視窗(二)」的說明。
要注意的是,
點選「設定」後會出現「Adobe - Flash Player:設定管理員」網頁,
網頁的右上角設定畫面是真的設定管理員,不是圖片喔!
(直連看不到設定管理員,要點選 FLASH 按「設定」鈕時才看得到)

 

 

我當初一直把它當圖片~~明明下面就有文字附註說不是了說~~XD|||

 

把安全性設為「永遠允許」後發現我的最愛語法是可行的,
但首頁的語法卻會出現類似「'document.links.0.style' 是 null 或不是一個物件」的錯誤訊息。

原因是沒有在網頁中 <body></body> 之間加入以下代碼:

 

<a href="Javascript:"></a>

 

然後,還是會出現錯誤訊息,
但錯誤訊息變成了「沒有使用權限」,
至此已經確定變成微軟 IE 的安全性機制的問題,
但還是上網查詢看看,
在「安装sp2后,原flash的设为首页的js失」這篇及其他篇相關的討論串中得知一項最有可能的結論:
安裝了 SP2 的 XP 都會碰到 FLASH 設定首頁語法出現沒有使用權限的訊息。

目前還沒有人提出解決方案,
如果有看到解決方法,我會繼續補充的~~ ^ ^a

 

 

 

  


 

 

【2007/09/26 補充】


OK.
有關FLASH「設為首頁」無法運作的問題,我似乎找到解決的方法了,
不過這所謂的「解決」還是要建立在 FLASH 8 新增的安全性機制原則下。

也就是說還是會出現這樣的畫面:

 

 

然後還是要點「設定」進入以下畫面後,設定安全性:

 

 

但之前使用的語法在設定後出現「沒有使用權限」的錯誤訊息,
所以把 Action Script 的語法改成:

 

onRelease()
{
    getURL("javascript:var newdiv = document.createElement('div');newdiv.id = 'divblock';document.body.appendChild(newdiv); divblock.style.behavior='url(#default#homepage)';divblock.setHomePage('網址');");
}

 

就可以使用了。

我試過了,是成功的喔!XD

 

詳情請見:Set HomePage from Flash [Archive] - FlashMove Forum

 

 


 

【2007/09/28 補充】


對不起,我錯了。

我忘記我的系統是 Windows 2000,
Windows 2000 本來就沒有「沒有使用權限」的問題。

找到「台灣 Adobe / macromedia 使用者俱樂部論壇 :: 觀看文章 - [求助]Flash中撰寫設為首頁 For WinXP SP2」這篇文章,看來目前是沒有辦法了,看微軟如何解決吧~~@.@