Mon code ressemble à ceci mais si j'ai Firefox Open, le lien s'ouvrira dans un nouvel onglet. Mais je veux que le lien soit ouvert dans une nouvelle fenêtre Firefox.
Comment puis-je accomplir cela? P> p>
5 Réponses :
Essayez ceci ... ou essayez ceci ... p>
Openurl ne fonctionne pas avec Leopard ... mais votre deuxième astuce est géniale!
En ce qui concerne maintenant, nous sommes en réalité sur Mac OS 10.12.5. Cette solution ne fonctionnera plus. Si quelqu'un veut toujours le faire, vous devriez remplacer le openurl par emplacement ouvert, comme Blubb mentionne dans la réponse.
Cela fonctionne, mais ouvre votre site de bienvenue dans la première onglet ...
tell application "Firefox" to activate tell application "System Events" to keystroke "n" using command down delay 3 tell application "Firefox" open location "http://rubyquicktips.tumblr.com/" end tell
Je ne connais pas entièrement AppleScript, mais je cherchais à ouvrir une nouvelle fenêtre par défaut. Voici une méthode qui fonctionne: éventuellement, pour se concentrer sur la nouvelle fenêtre, ajoutez ces lignes après: p> Ceci ouvrira un nouvelle fenêtre par défaut. Il peut y avoir une meilleure façon. P> p>
Remarque:
à compter d'au moins Firefox V50, vous pouvez faire Firefox par défaut em> pour ouvrir des URL dans une nouvelle fenêtre, par décalage Remarque, cependant, il s'agit d'un paramètre persistant qui affecte tous les URL em> ouverts de l'extérieur de Firefox . P> La solution ci-dessous peut encore être d'intérêt si vous ne voulez pas compter sur l'état de ce réglage. Voici une solution plus robuste que: p> ne s'appuie pas sur un retard fixe et p> li>
est neutre de langue (de même que l'approche d'envoi de frappe); C'est-à-dire, il fonctionne également avec des noms localisés pour les menus et les commandes (par exemple, "datationi" pour "fichier", ...) p> li>
ul> Toutefois, comme le script de l'interface graphique est utilisé pour cliquer sur programme sur un élément de menu, vous devez Dans des circonstances normales, si Firefox est réactif, cela devrait fonctionner de manière fiable. Cependant, le code pourrait être amélioré en mettant en œuvre des délais d'attente pour les boucles d'attente. P> LI>
Firefox n'est pas le plus rapide à l'ouverture de la nouvelle fenêtre, de sorte que Firefox s'active d'abord et la nouvelle fenêtre n'apparaîtra qu'une seconde environ environ. P> LI>
La nouvelle fenêtre aura invariablement un premier onglet vide et l'URL s'ouvrira dans l'onglet 2nd em>. p> li>
ul> Remarque latérale RE Le Ouvrir de nouvelles fenêtres dans un nouvel onglet Code> sur le
Général code> onglet des préférences de Firefox. P>
(Malheureusement, en raison de la prise en charge de AppleScript limitée de Firefox, il n'y a pas de solution similaire robuste pour toujours ouvrir dans un onglet em>, quel que soit l'état du réglage). P>
Editor.app code> doit être autorisé si vous souhaitez exécuter votre script tout en le développant. P>
tell application "Firefox"
# Make Firefox frontmost.
activate
# Wait until it is truly frontmost.
repeat while not frontmost
delay 0.1
end repeat
# Open a new window using GUI scripting (requires authorization for assistive access),
tell application "System Events" to tell application process "Firefox"
set windowCountBefore to (count of windows)
# Click on File > New to open a new window, but locate it
# by keyboard shortcut rather than by name, so as to also work
# with localized menu names.
tell menu 1 of menu bar item 3 of menu bar 1
click (first menu item whose value of attribute "AXMenuItemCmdChar" is "N" and value of attribute "AXMenuItemCmdModifiers" is 0)
end tell
# Wait for the new window to appear.
repeat while (count of windows) = windowCountBefore
delay 0.2
end repeat
end tell
# Finally, open the URL.
open location "http://example.org/"
end tell
Informulation d'application "Événements système" Pour indiquer le processus d'application "Firefox" Code> Construction: P>
Application "Firefox" code>). Li>
DONNER Evénements système " CODE>), et, dans ce contexte, c'est le Firefox processus em> qui doit être ciblé (
Tell Process Process "Firefox" Code>). Bien que vous puissiez écrire deux em> em>
indiquer des blocs code>, ils sont combinés en un seul bloc ici pour une commodité et une brièveté. li>
ul> p>
@Drandall: Oui, quelle que soit l'application exécutée, le code de script de l'interface graphique doit être autorisé; J'ai ajouté un éditeur de script de note explicite. Réciduratifs: bonne idée, mais la réponse indique déjà "le code pourrait être amélioré en mettant en œuvre des délais d'attente pour les boucles d'attente"; En côté: ce n'est pas un manque d'autorisation qui pourrait entraîner des boucles spécifiques à rester bloqués (le 1er one ne nécessite pas d'autorisation, et le 2e on ne serait pas atteint si l'autorisation manquait).
Solutions qui "activent" sont fausses car elles changent de bureau
Re: "Solutions qui" activez "sont incorrectes car elles changent de bureau" - bien, ce n'est pas vrai si on n'utilise que l'un, et seulement vrai si l'utilisation de plusieurs et de l'application cible n'est pas ouverte sur le présent. En outre, l'OP souhaite ouvrir une URL dans cette nouvelle fenêtre et une telle réponse est incomplète.
n'ont pas trouvé une meilleure alternative, pour Safari, j'ai utilisé "Faire un nouveau document", mais avec une nouvelle mise à jour, ils ont fait une nouvelle fenêtre dans l'ouverture de safari pendant 5 secondes (IDK si elles l'ont fait exprès pour que M1 macs se sent plus rapidement)
L'OP parle de Firefox B>, donc Safari B> n'a rien à voir avec ça! Votre réponse telle que écrite est factuellement inexacte et incomplète de ce que la OP demande!