• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Browser steuern

mactoni

Erdapfel
Registriert
03.12.07
Beiträge
5
Hallo,

ich habe 3 separate Flashprogramme die im Browser ablaufen. Gestartet werden Sie per Klick auf eine html Datei. Jetzt möchte ich folgendes erreichen:
Wird nach Beenden von Programm 1 der Browser geschlossen soll das 2. Flashprogramm geöffnet werden, nach schließen des Browsers indem Programm 2 gelaufen ist soll dann direkt Programm 3 aufgerufen werden.
Leider habe ich keinerlei Erfahrung mit AppleScript, oder ist eine solche Aufgabe auch im Automator zu lösen?
Danke für jeden Tip

mactoni
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Hallo,

ich habe 3 separate Flashprogramme die im Browser ablaufen. Gestartet werden Sie per Klick auf eine html Datei. Jetzt möchte ich folgendes erreichen:
Wird nach Beenden von Programm 1 der Browser geschlossen soll das 2. Flashprogramm geöffnet werden, nach schließen des Browsers indem Programm 2 gelaufen ist soll dann direkt Programm 3 aufgerufen werden.
Leider habe ich keinerlei Erfahrung mit AppleScript, oder ist eine solche Aufgabe auch im Automator zu lösen?
Danke für jeden Tip

mactoni

Hi,

verrätst du uns noch, was du für einen Browser nehmen willst? Safari? FF? ... das wär' wichtig, um sagen zu können, was man mit AppleScript machen kann ... Oder könnte man das Problem vlt auch mit JavaScript lösen? (indem du auf den Seiten im einfachsten Fall einen 'Close'-Button installierst, der eben vor dem close noch das nächste Flash startet?)

Grüße,

D.
 

Daisy

Uelzener Rambour
Registriert
14.01.06
Beiträge
366
Moin,

weiss nicht, ob dir das so was hilft - hier ein Script, in dem du eine Liste von URLs angeben kannst, die dann nacheinander 'abgearbeitet' werden. Immer, wenn du das Fenster schließt (oder ein anderes Browserfenster nach vorne holst) wird die nächste Adresse geöffnet. Probier' halt einfach mal aus: Einfach dieses Script mit den Optionen 'Dateiformat -> Programm' und 'Nicht automatisch beenden' speichern und vom Finder starten:

Code:
property URLs : {"http://www.apfeltalk.de/forum/web-programmierung-f55.html", "http://www.apfeltalk.de/forum/applescript-f56.html", "http://www.apfeltalk.de/forum/os-x-developer-f34.html"}
global currentURLIndex, totalNrOfURLs

on run
	set currentURLIndex to 0
	set totalNrOfURLs to count of URLs
end run

on idle
	set URLIndex to my indexOf(my getURL(), URLs)
	if ((URLIndex is 0) and (currentURLIndex < totalNrOfURLs)) then
		my openURL(currentURLIndex + 1)
		return 0.5
	else if ((URLIndex is 0) and (currentURLIndex ≥ totalNrOfURLs)) then
		quit
	else
		return 0.5
	end if
	return 0.5
end idle

on openURL(theURLIndex)
	set currentURLIndex to theURLIndex
	tell application "Safari"
		activate
		make new document
		set URL of document 1 to (item theURLIndex of URLs)
	end tell
	my waitForLoadingPage(10)
end openURL

on getURL()
	tell application "Safari"
		tell document 1
			set retVal to URL
		end tell
	end tell
	return retVal
end getURL

on indexOf(theURL, arrayOfURLs)
	repeat with n from 1 to (count of arrayOfURLs)
		if (item n of arrayOfURLs) is theURL then
			return n
		else
			set n to n + 1
		end if
	end repeat
	return 0
end indexOf

on waitForLoadingPage(timeOutValue)
	delay 2
	repeat with i from 1 to timeOutValue
		tell application "Safari"
			if ((do JavaScript "document.readyState" in document 1) = "complete") then
				return true
			else if i is timeOutValue then
				return false
			else
				delay 1
			end if
		end tell
	end repeat
	return false
end waitForLoadingPage