1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Browser steuern

Dieses Thema im Forum "AppleScript" wurde erstellt von mactoni, 03.12.07.

  1. mactoni

    mactoni Erdapfel

    Dabei seit:
    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
     
  2. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    14.01.06
    Beiträge:
    366
    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.
     
  3. mactoni

    mactoni Erdapfel

    Dabei seit:
    03.12.07
    Beiträge:
    5
    Browser sollte Safari sein
     
  4. Daisy

    Daisy Uelzener Rambour

    Dabei seit:
    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
     

Diese Seite empfehlen