# Script ouvrir un lien texte dans nouvel onglet.



## choumou (2 Avril 2011)

Bonjour à tous,

Voilà je demande pas souvent de choses, mais là je suis un peu perdu.
Souvent je rencontre des liens qui ne sont pas affichés comme lien, mais en texte, ce que je fais dons c'est de copier ce texte, d'ouvrir un nouvel onglet et de coller dans la barre d'adresse puis entrée.

Je voudrais automatiser tout ça avec une gesture sur le Magic Trackpad et Bettertouchtool, j'ai vu qu'on pouvait attribuer une gesture à un programme ou à script, j'ai essayé avec automator, sans succès.

Voilà ma question, est-ce que quelqu'un aurait ou pourrait me faire un petit script pour faire tout ça (en gros &#8984;c, &#8984;t, &#8984;v et entrée), en espérant que ma demande n'est pas trop abusé. 

D'avance merci pour vos réponses.


----------



## Anonyme (2 Avril 2011)

Bonjour,

Si c'est pour *Safari*, ce script fonctionne.

```
tell application "Safari"
	set t_text to (do JavaScript "getSelection()" in document 1)
	if t_text is not "" then tell front window
		set t to make new tab at end of tabs with properties {URL:t_text}
		set current tab to t
	end tell
end tell
```


----------



## choumou (3 Avril 2011)

Harrfff, oui j'aurais dû préciser, je suis sur Firefox, mais merci pour ta contribution.


----------



## Anonyme (3 Avril 2011)

Bonjour,



choumou a dit:


> Harrfff, oui j'aurais dû préciser, je suis sur Firefox,


Il faut simuler le clavier

Voici le script, si la préférence de Firefox est déjà "*Ouvrir dans les onglets*".

```
tell application "System Events" to tell process "Firefox"
	set frontmost to true
	delay 0.5
	keystroke "c" using command down
	delay 0.5
end tell
tell application "Firefox" to open location (the clipboard as string)
```

sinon 
	
	



```
tell application "System Events" to tell process "Firefox"
	set frontmost to true
	delay 0.5
	keystroke "c" using command down
	delay 0.5
	keystroke "t" using command down
	delay 0.3
	keystroke "l" using command down
	delay 0.3
	keystroke "v" using command down
	delay 0.3
	keystroke return
end tell
```

Ou une solution différente : un clic sur un marque-page dans la barre personnelle :
Crée un nouveau marque-page.
Mets ce code javascript dans l'adresse du marque-page

```
javascript:void(window.open(document.getSelection()))
```


----------



## choumou (3 Avril 2011)

Un très grand merci, t'es un chef, le premier script marche impecc.


----------

