Добавить страницу в закладки - PullRequest
1 голос
/ 06 февраля 2009

Как мы можем добавить страницу в закладки при нажатии кнопки или кнопки ссылки в flex с помощью actionscript

Ответы [ 3 ]

1 голос
/ 06 февраля 2009

Рабочий пример, основанный на информации из предыдущих ответов:

bookmarks.js (добавьте это в каталог html-шаблонов):

 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.

0 голосов
/ 06 февраля 2009

AFAIK, вы не можете сделать это непосредственно из ActionScript. Тем не менее, вы можете вызвать javascript из actionscript, не используя класс ExternalInterface, и сеть кишит функциями javascript для создания закладок. Взгляните, к примеру, это (я не проверял).

0 голосов
/ 06 февраля 2009

Для этого вам придется использовать javascript. Просто создайте функцию javascript, чтобы добавить в закладки страницу в html-файле, в котором размещен swf, а затем вызвать эту функцию изнутри swf, используя ExternalInterface.

Вот пример функции JavaScript для создания закладок: http://labnol.blogspot.com/2006/01/add-to-favorites-ie-bookmark-firefox.html

Вот документы Flex по использованию ExternalInterface: http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00001009.html

...