为页面添加书签

时间:2009-02-06 10:48:07

标签: flex flash actionscript bookmarks

如何使用actionscript

在flex中单击按钮或链接按钮为页面添加书签

3 个答案:

答案 0 :(得分:1)

基于先前答案中的信息的工作示例:

bookmarks.js (将此内容添加到您的html-template目录中):

 function CreateBookmarkLink(title, url) 
 {
    if (window.sidebar) { // Mozilla Firefox Bookmark
        window.sidebar.addPanel(title, url,"");
    } else if( window.external ) { // IE Favorite
        window.external.AddFavorite( url, title); }
    else if(window.opera && window.print) { // Opera Hotlist
        return true; }
 }

然后将此行添加到 index.template.html:

<script src="bookmarks.js" language="javascript"></script>

现在你有一个javascript代码“包装”你的Flex应用程序,可以通过这段代码调用( bookmarks.mxml ):

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
    <mx:Script>
        <![CDATA[
            public function AddBookmark() : void
            {
                ExternalInterface.call("CreateBookmarkLink", 
                   "Stack Overflow", 
                   "http://www.stackoverflow.com");
            }
        ]]>
    </mx:Script>
    <mx:Button x="10" y="10" label="Bookmark!" click="AddBookmark()"/>
</mx:Application>

在IE上测试。

答案 1 :(得分:0)

你必须使用javascript。只需创建一个javascript函数来为托管swf的html文件中的页面添加书签,然后使用ExternalInterface从swf内部调用该函数。

以下是用于书签的javascript函数的示例:http://labnol.blogspot.com/2006/01/add-to-favorites-ie-bookmark-firefox.html

以下是有关如何使用ExternalInterface的Flex文档:http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001009.html

答案 2 :(得分:0)

AFAIK,你不能直接从动作脚本那样做。但是,您可以从没有ExternalInterface类的actionscript调用javascript,并且网络上充满了javascript函数来创建书签。例如,看看this(我还没有测试过它)。