1

我们如何使用actionscript在flex中单击按钮或链接按钮时为页面添加书签

4

3 回答 3

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 上测试。

于 2009-02-06T20:48:16.483 回答
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

于 2009-02-06T11:40:22.767 回答
0

AFAIK,你不能直接从动作脚本中做到这一点。但是,您可以从动作脚本中调用 javascript 来取消ExternalInterface类,并且网络上充斥着用于创建书签的 javascript 函数。看看这个,例如(我没有测试过)。

于 2009-02-06T11:41:01.033 回答