[GastForen Programme Print/Bildbearbeitung Adobe InDesign Kann ein Skript eine URL im Internet Explorer öffnen?

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Kann ein Skript eine URL im Internet Explorer öffnen?

Stephan_M
Beiträge gesamt: 480

10. Okt 2008, 09:49
Beitrag # 1 von 9
Bewertung:
(3399 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

kann ein Skript eine URL im InternetExplorer öffnen? Beispielsweise "http://www.istockphoto.com/file_closeup.php?id=572723"?

Ich möchte aus einer Bildverknüpfung per GREP eine Nummernfolge herausfiltern. Beispielsweise die Nummernfolge "572723" aus dem platzierten Bild "8 und 9_572723 Auge © istock.tif". Diese Nummernfolge möchte ich dann an ein URL-String anfügen, um die URL "http://www.istockphoto.com/file_closeup.php?id=572723" zu erhalten. Das kriege ich bestimmt noch hin. Nur das öffnen nicht.
Ziel: Ein platziertes, kleines Layoutbild mit einem Klick bei Istock öffnen, um es in höherer Auflösung kaufen zu können.

Gibt's dafür schon was ähnliches?

Lieben Gruß,
Stephan
X

Kann ein Skript eine URL im Internet Explorer öffnen?

Martin Fischer
  
Beiträge gesamt: 12783

10. Okt 2008, 10:26
Beitrag # 2 von 9
Beitrag ID: #369663
Bewertung:
(3389 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

dafür muss der Text der URL mit einem Hyperlink markiert werden.

Das Ziel eines Hyperlinks kann man so ansteuern:
Code
app.activeDocument.hyperlinks[0].showDestination (); 


Ist das Ziel eine URL, dann wird der Link im Standard-Browser geöffnet.


als Antwort auf: [#369648]

Kann ein Skript eine URL im Internet Explorer öffnen?

Stephan_M
Beiträge gesamt: 480

10. Okt 2008, 10:39
Beitrag # 3 von 9
Beitrag ID: #369670
Bewertung:
(3385 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

ich könnte also einen temporären Objektrahmen erstellen, ihn als Hyperlink nutzen, mit der URL, die ich mir als String erzeugt habe, diesen Hyperlink dann per showDestination() öffnen und danach den temporären Objektrahmen und den Hyperlink wieder löschen.

Wie ich per Skript einen Hyperlink erzeuge, finde ich heraus. Das ganze wird etwas Unschön, aber der Ansatz könnte funktionieren. Muss basteln...
Danke Dir.

Stephan


als Antwort auf: [#369663]
(Dieser Beitrag wurde von Stephan_M am 10. Okt 2008, 10:43 geändert)

Kann ein Skript eine URL im Internet Explorer öffnen?

Martin Fischer
  
Beiträge gesamt: 12783

10. Okt 2008, 10:54
Beitrag # 4 von 9
Beitrag ID: #369678
Bewertung:
(3376 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

Antwort auf: ich könnte also einen temporären Objektrahmen erstellen, ihn als Hyperlink nutzen, mit der URL, die ich mir als String erzeugt habe, diesen Hyperlink dann per showDestination() öffnen und danach den temporären Objektrahmen und den Hyperlink wieder löschen.


Weshalb wählst Du so einen Umweg?
Markiere Text mit einem Hyperlink und gut ist.
Warum willst Du das nur temporär machen.
Wer weiß, ob Du den nicht nochmal wieder brauchst und der stört doch niemanden – oder?.


Antwort auf: Das ganze wird etwas Unschön

Würde es unschön werden, dann wäre es keine Empfehlung von mir. ;-)

Bei der Sicherheit, mit der Du Deine Bedenken vorgetragen hast, habe ich den dringenden Verdacht, selbst etwas übersehen zu haben. Aber was nur?


als Antwort auf: [#369670]

Kann ein Skript eine URL im Internet Explorer öffnen?

Stephan_M
Beiträge gesamt: 480

10. Okt 2008, 11:05
Beitrag # 5 von 9
Beitrag ID: #369685
Bewertung:
(3373 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Entschuldige bitte, ich war wieder unklar.

Also das gewünschte Zielverhalten: User selektiert eine Bild-Verknüpfung(!) und löst das Skript aus. Das Skript erkennt die Nummer im Filenamen der gewählten Verknüpfung, erzeugt daraus eine URL rüber zu www.Istock.com, und öffnet Istock im Browser mit dem zu kaufenden Bild.

Ich glaube das kriege ich über die umwegige Lösung einen temporären Hyperlink zu erzeugen hin. - Am Wochenende.
Hast Du noch eine bessere Idee?

Stephan


als Antwort auf: [#369678]
(Dieser Beitrag wurde von Stephan_M am 10. Okt 2008, 11:05 geändert)

Kann ein Skript eine URL im Internet Explorer öffnen?

Martin Fischer
  
Beiträge gesamt: 12783

10. Okt 2008, 11:22
Beitrag # 6 von 9
Beitrag ID: #369697
Bewertung:
(3366 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Stephan,

in der Arbeit mit Hyperlinks habe ich noch wenig Erfahrung.

Es ist möglich, einem Bild oder dessen Rahmen einen Hyperlink zuzuordnen.
Aber es gibt keine Eigenschaft des Bildes, über die es an 'seinen' Hyperlink herankommt. Der scheint irgendwie nicht dran zu kleben.

Aber der Hyperlink kennt ein source-Objekt.

Nun wäre es z.B. möglich, nach der Auswahl eines Bilds (oder seines Rahmens) ein Skript auszuführen, welches das Bild zunächst einmal in einer Variablen referenziert und dann alle Hyperlinks prüft, ob ihre Quelle dieser Referenz entspricht (Vergleich Bild-/Rahmenobjekt mit dem source-Objekt der Hyperlinks). Falls der Vergleich passt, wird das Hyperlink-Ziel aufgerufen.

Aber vielleicht gibt es noch einen anderen, einfacheren Weg, vom Bild/Rahmen auf den verbundenen Hyperlink zu kommen. Der oben gezeigte kommt mir etwas zu umständlich vor.

Allerdings würde ich diesen dem von Dir genannten workaround vorziehen. ;-)

edit:
Eins hatte ich noch vergessen: wenn die Bilder entsprechend benamt sind, dann kannst Du die Hyperlinks vorher schon einarbeiten und brauchst sie nicht jedes Mal aus dem Linknamen generieren. Allerdings könntest Du das auch auf das Skript des Anwenders legen, dass in dem Moment, wo das gewählte Objekt nicht als Quelle eines Hyperlinks identifiziert werden kann, die Markierung nachgetragen wird. Dann bliebe nicht immer alles an Dir alleine hängen. ;-)


als Antwort auf: [#369685]
(Dieser Beitrag wurde von Martin Fischer am 10. Okt 2008, 11:34 geändert)

Kann ein Skript eine URL im Internet Explorer öffnen?

Stephan_M
Beiträge gesamt: 480

10. Okt 2008, 11:32
Beitrag # 7 von 9
Beitrag ID: #369702
Bewertung:
(3360 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hab Dich verstanden.

Jetzt muss ich erst mal was draus machen. :) Herzlichen Dank schonmal. Ich melde mich wieder.


als Antwort auf: [#369697]

Kann ein Skript eine URL im Internet Explorer öffnen?

Martin Fischer
  
Beiträge gesamt: 12783

10. Okt 2008, 11:35
Beitrag # 8 von 9
Beitrag ID: #369703
Bewertung:
(3357 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Stephan,

bitte lese meinen Beitrag nochmal (es könnte sich lohnen).
Ich habe soeben ein paar Gedanken drangehängt.

Und wenn Du eine Lösung umgesetzt hast, wäre ich neugierig genug, da mal einen Blick reinzuwerfen. Du musst das nicht öffentlich machen, wenn Du nicht willst, sondern kannst mir den Code/Codeabschnitt auch per email zukommen lassen.

Eine öffentliche Diskussion des Codes fände ich aber auch nicht schlecht.


als Antwort auf: [#369702]
(Dieser Beitrag wurde von Martin Fischer am 10. Okt 2008, 11:38 geändert)

Kann ein Skript eine URL im Internet Explorer öffnen?

Stephan_M
Beiträge gesamt: 480

28. Okt 2008, 20:04
Beitrag # 9 von 9
Beitrag ID: #372303
Bewertung:
(3253 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

hier das schmutzige Skript. Was tut es für mich? Wenn ich ein Bild angewählt habe, holt es sich mit Regular Expression aus dem Bildnamen einen bestimmten Teil - eine Seriennummer. Diese Nummer wird an einen URL-String angefügt. Die URL wird dann im Browser geöffnet. Zum öffnen im Browser erstellt das Skript einen InDesign-Hyperlink auf dem Bild, und löscht ihn gleich wieder.

Ich brauche das, weil ich so bequem von platzierten IStock-Vorschaubildern direkt zum kaufen der Bilder in Istock gelange.

Für mich läufts, aber ich glaube nicht, das jemand anderes es nützlich findet.

Liebe Grüße,
Stephan

Code
var doc = app.activeDocument; 
var myItems = app.selection;
for (var j = myItems.length - 1; j >= 0; j--) {
var curSel = myItems[j];
var selType = curSel.constructor.name;
var curImage = curSel;
if (curSel.graphics.length != 0) {
var curImage = curSel.graphics[0];
if (curImage.itemLink.status != LinkStatus.LINK_EMBEDDED ) {
var LinkString = curImage.itemLink.name;

var myRegExp = /.+( |_|-)(\d{5,9}).+/;
try{
if(LinkString.match(myRegExp)!=null){
myMatch = LinkString.match(myRegExp);

myURL = "http://www.istockphoto.com/file_closeup.php?id=" + myMatch[2];

myHyperlinkDestination = myMakeURLHyperlinkDestination(myURL);

try{ myMakeHyperlink(curImage.parent, myHyperlinkDestination, "OpenInIEtemp"); }
catch (myError){ alert(myError) }

var myHyperlink = doc.hyperlinks.itemByName("OpenInIEtemp");
myHyperlink.showDestination();
myHyperlink.remove();
}
}
catch (myError){ alert(myError) }
}
}
}
function myMakeHyperlink(myItem, myHyperlinkDestination, myHyperLinkName){
var myDocument = app.activeDocument;
try{
var myHyperlinkPageItemSource = myDocument.hyperlinkPageItemSources.add(myItem);
var myHyperlink = myDocument.hyperlinks.add(myHyperlinkPageItemSource, myHyperlinkDestination);
myHyperlink.visible = false;
myHyperlink.name = myHyperLinkName;
}
catch(myError){alert(myError)}
}

function myMakeURLHyperlinkDestination(myURL){
var myDocument = app.activeDocument;
//If the hyperlink destination already exists, use it;
//if it doesn't, then create it.
try{
var myHyperlinkDestination = myDocument.hyperlinkURLDestinations.item(myURL);
myHyperlinkDestination.name;
}
catch(myError){
myHyperlinkDestination = myDocument.hyperlinkURLDestinations.add(myURL);
}
myHyperlinkDestination.name = myURL;
//Set other hyperlink properties here, if necessary.
return myHyperlinkDestination;
}



als Antwort auf: [#369703]
(Dieser Beitrag wurde von Stephan_M am 28. Okt 2008, 20:11 geändert)
X