Question

J'utilise le code JavaScript suivant:

<script language="JavaScript1.2" type="text/javascript">
 function CreateBookmarkLink(title, url) {
    if (window.sidebar) {
        window.sidebar.addPanel(title, url,"");
    } else if( window.external ) {
        window.external.AddFavorite( url, title); }
    else if(window.opera && window.print) {
        return true; }
 }
</script>

Ceci créera un signet pour Firefox et IE. Mais le lien pour Firefox apparaîtra dans la fenêtre du navigateur, au lieu d’être affiché dans l’écran principal. Personnellement, je trouve cela très agaçant et je cherche une meilleure solution. Il est bien sûr possible de modifier manuellement le signet pour qu'il ne soit pas affiché dans le panneau latéral, mais cela nécessite des étapes supplémentaires. Je souhaite simplement que les internautes puissent créer un signet sur une page (qui contient de nombreuses informations GET dans l'URL utilisée pour créer un schéma particulier) facilement.

Je crains qu'il ne soit pas du tout possible que Firefox présente la page sur l'écran principal (car googler ce sujet n'a pratiquement rien valu la peine d'être utilisé), mais j'ai peut-être manqué quelque chose. Si quelqu'un a une idée de la possibilité ou d'une solution de contournement, j'aimerais en entendre parler.

Était-ce utile?

La solution

Je pense que c'est la seule solution pour Firefox ... J'ai une meilleure fonction pour cette action. Elle fonctionne même pour Opera et affiche un message pour les autres "non pris en charge". navigateurs.

<script type="text/javascript">
function addBookmark(url,name){
    if(window.sidebar && window.sidebar.addPanel) {
        window.sidebar.addPanel(name,url,''); //obsolete from FF 23.
} else if(window.opera && window.print) { 
        var e=document.createElement('a');
        e.setAttribute('href',url);
        e.setAttribute('title',name);
        e.setAttribute('rel','sidebar');
        e.click();
} else if(window.external) {
        try {
            window.external.AddFavorite(url,name);
        }
        catch(e){}
}
else
        alert("To add our website to your bookmarks use CTRL+D on Windows and Linux and Command+D on the Mac.");
}
</script>

Autres conseils

Pour Firefox, il n'est pas nécessaire de définir de code JavaScript pour le signet page par script, seule une balise d'ancrage avec titre et rel = "sidebar" peut effectuer cette fonctionnalité.

<a href="http://www.google.com" title="Google" rel="sidebar">Bookmark This Page</a>

Je l’ai testé sur FF9 et il fonctionne bien.

Lorsque vous cliquez sur le lien, Firefox ouvre une boîte de dialogue Nouveau signet et si vous ne souhaitez pas charger ce signet dans la barre latérale, décochez la case Charger ce signet dans la barre latérale. à partir de la boîte de dialogue.

Vous avez un cas particulier pour

if (window.sidebar) 

et ensuite une branche pour 'else' - firefox ne se poserait-il pas dans la première branche et ajouterait donc uniquement le panneau?

Hojou,

Il semble que ce soit la seule façon d’ajouter un signet pour Firefox. Donc, FF doit atterrir dans la première branche pour que quelque chose se passe. Je googlé un peu plus mais je me fais vraiment l'idée qu'il est impossible de répondre correctement à FF ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top