0 votes

Automatiser la redirection d'URL dans Mac OS Automator

J'aimerais avoir de l'aide pour écrire un AppleScript qui redirige automatiquement amazon.com vers smile.amazon.com. J'ai tendance à toujours oublier d'utiliser smile. Avec cet automate, je ne l'oublierai jamais. Malheureusement, je suis novice dans l'utilisation de cet outil.

0 votes

Amazon propose une extension de navigateur qui fait cela pour vous, entre autres choses. Elle s'appelle Amazon Assistant : amazon.com/gp/BIT

1voto

wch1zpink Points 6067

SOLUTION RÉVISÉE

La solution suivante doit être utilisée avec Google Chrome.

Collez le code AppleScript suivant dans un nouveau document script Editor.app puis enregistrez-le comme une application "Stay Open".

En double-cliquant sur cette nouvelle application dans le Finder, vous lancerez Google Chrome s'il n'est pas déjà lancé. Elle commencera alors immédiatement à surveiller les URL de chaque onglet dans la fenêtre 1 de Google Chrome. Chaque fois que l'URL d'un onglet commence par https://www.amazon.com est détectée, elle sera automatiquement redirigée vers https://smile.amazon.com . Lorsque Google Chrome n'est plus en cours d'exécution, l'application se ferme d'elle-même.

La première fois que vous ouvrez votre nouvelle applet, assurez-vous de choisir l'option permettant de l'exécuter... dans toutes les boîtes de dialogue du système qui peuvent apparaître au premier lancement.

Ce code AppleScript fonctionne pour moi avec la dernière version de MacOS Mojave.

on run
    tell application "Google Chrome" to launch
end run

on idle
    if application "Google Chrome" is not running then quit me
    tell application "Google Chrome" to tell window 1
        try
            set amazonTabs to (tabs whose URL starts with "https://www.amazon")
            delay 0.1
            if amazonTabs is not {} then
                set URL of item 1 of amazonTabs to "https://smile.amazon.com"
            end if
        end try
    end tell
    if application "Google Chrome" is not running then quit me
    return 0.5
end idle

on quit
    continue quit -- allows the script to quit
end quit

En raison de certains commentaires sur le code original de ma solution utilisant trop de ressources informatiques, je pense que le code ci-dessus ne produit plus ces problèmes.

enter image description here

Version Safari

on run
    tell application "Safari" to launch
end run

on idle
    if application "Safari" is not running then quit me
    tell application "Safari" to tell window 1
        try
            set amazonTabs to (tabs whose URL starts with "https://www.amazon")
            delay 0.1
            if amazonTabs is not {} then
                set URL of item 1 of amazonTabs to "https://smile.amazon.com"
            end if
        end try
    end tell
    if application "Safari" is not running then quit me
    return 0.5
end idle

on quit
    continue quit -- allows the script to quit
end quit

Pour pouvoir contrôler Safari à l'aide d'AppleScript, veillez à activer l'option "Afficher le menu Développer dans la barre de menus" dans les préférences de Safari.

enter image description here

Vous devrez également sélectionner "Allow JavaScript from Apple Events" dans l'élément de la barre de menu Développer.

enter image description here

1 votes

Bien que techniquement, cela fonctionne néanmoins, ce n'est vraiment pas la voie à suivre car ce type d'application AppleScript est gourmand en ressources. L'exécution de cette application a immédiatement fait tourner les ventilateurs de mon MacBook Pro et a consommé 88% du CPU, et cette consommation a continué à augmenter au fur et à mesure que l'application restait ouverte. IMO La vraie réponse à la question était de dire au PO de se conditionner à taper la bonne URL ou d'utiliser un signet, après tout c'est à cela que servent les signets ! En tant que béquille, il serait bien mieux de créer une application AppleScript qui ouvre simplement une fenêtre vers l'URL cible et de la placer dans le Dock avec une icône de smiley.

0 votes

J'ai une bonne quantité de ressources sur mon ordinateur portable, mais la dernière chose que je veux, c'est que ces ressources soient utilisées sans raison. J'ai un signet, mais j'oublie toujours de cliquer dessus.

0 votes

@user3439894 . Faites-moi savoir si vous rencontrez les mêmes problèmes avec mon code révisé, s'il vous plaît.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X