<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:series="http://unfoldingneurons.com/"
		>
<channel>
	<title>Kommentare zu: Mit JavaScript aus einem Dokument Daten lesen</title>
	<atom:link href="http://www.baldenhofer.eu/blog/it/programmieren/mit-javascript-aus-einem-dokument-daten-lesen/feed" rel="self" type="application/rss+xml" />
	<link>http://www.baldenhofer.eu/blog/it/programmieren/mit-javascript-aus-einem-dokument-daten-lesen</link>
	<description>Roland bloggt über IT, Programmieren und Linux</description>
	<lastBuildDate>Mon, 07 Nov 2011 16:30:33 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
	<item>
		<title>Von: calli</title>
		<link>http://www.baldenhofer.eu/blog/it/programmieren/mit-javascript-aus-einem-dokument-daten-lesen/comment-page-1#comment-1085</link>
		<dc:creator>calli</dc:creator>
		<pubDate>Fri, 08 Apr 2011 11:23:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.baldenhofer.eu/blog/?p=224#comment-1085</guid>
		<description>hmm, ohne es ausprobiert zu haben aber die Berschreibung sagt:
      Replace every link to mp3 file on page with a tiny inline player button to hear without leave the page. 

Icxh schau mal am Wochenende - wenn sich die Zeit ergibt - ob ich solche &#039;Sound-Buttons&#039; in die Original-Web-Page einschmuggeln kann, die ich dann drücke.

Aber nochmad, der Aufruf:
Components.classes[&quot;@mozilla.org/sound;1&quot;].createInstance(Components.interfaces.nsISound);
scheitert ja wohl an irgendwelchen Rechten :(

Könnte man die 
a) umgehen (unwahrschenlich) oder
b) ein hidden window, ein locales priveligiertes Tab, öffnen, wo dann doch dieser Aufruf und die folgenden &#039;durchginge&#039;?

Das Interessante ist aber, dass das AddOb check4Change einen sound spielt!
Ich habe mich auch schon durch dessen Code gewühlt, aber nichts gefunden,
wodurch mir ein Heureka entführe.

Dort schaut es so aus:

try{

window.addEventListener(&quot;load&quot;,c4cSystem_init, false);
window.addEventListener(&quot;unload&quot;,c4cSystem_uninit, false);

} catch (e) {c4cUti_assert(false,e);}


// setup c4c.
function c4cSystem_init() {
try{


	// onload. copied from http://kb.mozillazine.org/On_Page_Load
   var appcontent = document.getElementById(&quot;appcontent&quot;);   // browser
    if(appcontent)
      appcontent.addEventListener(&quot;load&quot;, c4cSystem_pageReloaded, true);

	// for removed tab
	var container = gBrowser.tabContainer;
	container.addEventListener(&quot;TabClose&quot;, c4cSystem_tabRemoved, false);

	// for window focus and blur. NOTE: BUG in FF. onblur handler only gets called for first window. This means it&#039;ll work some of the time.
	window.addEventListener(&quot;focus&quot;,function() {/*c4cUti_log(&quot;focus&quot;);*/ window.hasFocus = true;}, true);
	window.addEventListener(&quot;blur&quot; ,function() {/*c4cUti_log(&quot;blur&quot;);*/  window.hasFocus = false;}, true);

	// init stats
	c4cStats_init();

	//init sound
	c4cUti_soundInit();

	// make sure default params are setup.
   	c4cParams_setUpDefaults();

	// setup menus
	c4cMenu_initContextMenus();

} catch (e) {c4cUti_assert(false,e);}
}


function c4cUti_soundInit() {
try{
	var sound = Components.classes[&quot;@mozilla.org/sound;1&quot;].createInstance(Components.interfaces.nsISound);
	sound.init();

} catch (e) {c4cUti_assert(false,e); return null;}
}

Einen EvenListener habe ich versucht zu &#039;benutzen&#039; der lief aber nicht in/mit Scriptish, da bin ich dann zu  setInterval(function() {..} gewechselt.

Tja, bei diesem AddOn get&#039;s, aus scriptish aber nicht ??
Ich kann nicht erkennen, wieso check4Chance die Rechte hat, die ich gerne hätte.
Ich sehe nicht, was da anders ist, dass es geht, und bei mir nicht :(
Ein Idee, dass ich weiter suchen und probieren kann?
Es kann doch nicht sein, dass das nicht geht?

LG aus Wien mit einem schönen Wochendewunsch,
Calli</description>
		<content:encoded><![CDATA[<p>hmm, ohne es ausprobiert zu haben aber die Berschreibung sagt:<br />
      Replace every link to mp3 file on page with a tiny inline player button to hear without leave the page. </p>
<p>Icxh schau mal am Wochenende &#8211; wenn sich die Zeit ergibt &#8211; ob ich solche &#8216;Sound-Buttons&#8217; in die Original-Web-Page einschmuggeln kann, die ich dann drücke.</p>
<p>Aber nochmad, der Aufruf:<br />
Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound);<br />
scheitert ja wohl an irgendwelchen Rechten <img src='http://www.baldenhofer.eu/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Könnte man die<br />
a) umgehen (unwahrschenlich) oder<br />
b) ein hidden window, ein locales priveligiertes Tab, öffnen, wo dann doch dieser Aufruf und die folgenden &#8216;durchginge&#8217;?</p>
<p>Das Interessante ist aber, dass das AddOb check4Change einen sound spielt!<br />
Ich habe mich auch schon durch dessen Code gewühlt, aber nichts gefunden,<br />
wodurch mir ein Heureka entführe.</p>
<p>Dort schaut es so aus:</p>
<p>try{</p>
<p>window.addEventListener(&#8220;load&#8221;,c4cSystem_init, false);<br />
window.addEventListener(&#8220;unload&#8221;,c4cSystem_uninit, false);</p>
<p>} catch (e) {c4cUti_assert(false,e);}</p>
<p>// setup c4c.<br />
function c4cSystem_init() {<br />
try{</p>
<p>	// onload. copied from <a href="http://kb.mozillazine.org/On_Page_Load" rel="nofollow">http://kb.mozillazine.org/On_Page_Load</a><br />
   var appcontent = document.getElementById(&#8220;appcontent&#8221;);   // browser<br />
    if(appcontent)<br />
      appcontent.addEventListener(&#8220;load&#8221;, c4cSystem_pageReloaded, true);</p>
<p>	// for removed tab<br />
	var container = gBrowser.tabContainer;<br />
	container.addEventListener(&#8220;TabClose&#8221;, c4cSystem_tabRemoved, false);</p>
<p>	// for window focus and blur. NOTE: BUG in FF. onblur handler only gets called for first window. This means it&#8217;ll work some of the time.<br />
	window.addEventListener(&#8220;focus&#8221;,function() {/*c4cUti_log(&#8220;focus&#8221;);*/ window.hasFocus = true;}, true);<br />
	window.addEventListener(&#8220;blur&#8221; ,function() {/*c4cUti_log(&#8220;blur&#8221;);*/  window.hasFocus = false;}, true);</p>
<p>	// init stats<br />
	c4cStats_init();</p>
<p>	//init sound<br />
	c4cUti_soundInit();</p>
<p>	// make sure default params are setup.<br />
   	c4cParams_setUpDefaults();</p>
<p>	// setup menus<br />
	c4cMenu_initContextMenus();</p>
<p>} catch (e) {c4cUti_assert(false,e);}<br />
}</p>
<p>function c4cUti_soundInit() {<br />
try{<br />
	var sound = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound);<br />
	sound.init();</p>
<p>} catch (e) {c4cUti_assert(false,e); return null;}<br />
}</p>
<p>Einen EvenListener habe ich versucht zu &#8216;benutzen&#8217; der lief aber nicht in/mit Scriptish, da bin ich dann zu  setInterval(function() {..} gewechselt.</p>
<p>Tja, bei diesem AddOn get&#8217;s, aus scriptish aber nicht ??<br />
Ich kann nicht erkennen, wieso check4Chance die Rechte hat, die ich gerne hätte.<br />
Ich sehe nicht, was da anders ist, dass es geht, und bei mir nicht <img src='http://www.baldenhofer.eu/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
Ein Idee, dass ich weiter suchen und probieren kann?<br />
Es kann doch nicht sein, dass das nicht geht?</p>
<p>LG aus Wien mit einem schönen Wochendewunsch,<br />
Calli</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Roland</title>
		<link>http://www.baldenhofer.eu/blog/it/programmieren/mit-javascript-aus-einem-dokument-daten-lesen/comment-page-1#comment-1084</link>
		<dc:creator>Roland</dc:creator>
		<pubDate>Fri, 08 Apr 2011 10:45:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.baldenhofer.eu/blog/?p=224#comment-1084</guid>
		<description>Hi nochmal ;)
Also die Scriptish Erweiterung habe ich noch nicht verwendet.
Schau doch mal auf die Seite http://musicplayer.sourceforge.net/greasemonkey/inline.player.user.js Greasemonkey soll ja ähnlich sein, nur für ältere Browser.
Vielleicht kannst du dir solch einen Player zusammenstecken und mit dem von mir beschriebenen Funktionen anreichern...
Das JavaScript ist bei der Firefox Erweiterung ja identisch wie auf einer eigenen Seite.

Viel Erfolg und Grüße aus Konstanz!

Roland</description>
		<content:encoded><![CDATA[<p>Hi nochmal <img src='http://www.baldenhofer.eu/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Also die Scriptish Erweiterung habe ich noch nicht verwendet.<br />
Schau doch mal auf die Seite <a href="http://musicplayer.sourceforge.net/greasemonkey/inline.player.user.js" rel="nofollow">http://musicplayer.sourceforge.net/greasemonkey/inline.player.user.js</a> Greasemonkey soll ja ähnlich sein, nur für ältere Browser.<br />
Vielleicht kannst du dir solch einen Player zusammenstecken und mit dem von mir beschriebenen Funktionen anreichern&#8230;<br />
Das JavaScript ist bei der Firefox Erweiterung ja identisch wie auf einer eigenen Seite.</p>
<p>Viel Erfolg und Grüße aus Konstanz!</p>
<p>Roland</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: calli</title>
		<link>http://www.baldenhofer.eu/blog/it/programmieren/mit-javascript-aus-einem-dokument-daten-lesen/comment-page-1#comment-1083</link>
		<dc:creator>calli</dc:creator>
		<pubDate>Thu, 07 Apr 2011 21:49:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.baldenhofer.eu/blog/?p=224#comment-1083</guid>
		<description>eeh, wow - DANKE!
Ich weiß jetzt nur noch nicht wie ich das in mein Script einbauen kann.

Ich will ja keine eigene Webseite erstellen, sondern eine andere Webseite &#039;überwachen&#039; mit einem Script, das unter dem FF-AddOn Scriptish läuft. Und je nach Änderung soll dann mal das oder das, aber auch jenes Sound-File abgespielt werden, alles gesteurert über das script, das die Web-Seite zwische jede Sekunde oder alle n Sekunden abtastet:

&lt;code&gt;
setInterval(function() { ... }, 1000  );
&lt;/code)

Deine Lösung ist wohl für eine eigene Web-Seite, in die ich die Möglichkeit einbaue, aber bei einer externen Web-Seite?
Aber ein herzliches Danke aus  Wien,
Calli&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p>eeh, wow &#8211; DANKE!<br />
Ich weiß jetzt nur noch nicht wie ich das in mein Script einbauen kann.</p>
<p>Ich will ja keine eigene Webseite erstellen, sondern eine andere Webseite &#8216;überwachen&#8217; mit einem Script, das unter dem FF-AddOn Scriptish läuft. Und je nach Änderung soll dann mal das oder das, aber auch jenes Sound-File abgespielt werden, alles gesteurert über das script, das die Web-Seite zwische jede Sekunde oder alle n Sekunden abtastet:</p>
<p><code><br />
setInterval(function() { ... }, 1000  );<br />
&lt;/code)</p>
<p>Deine Lösung ist wohl für eine eigene Web-Seite, in die ich die Möglichkeit einbaue, aber bei einer externen Web-Seite?<br />
Aber ein herzliches Danke aus  Wien,<br />
Calli</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Roland</title>
		<link>http://www.baldenhofer.eu/blog/it/programmieren/mit-javascript-aus-einem-dokument-daten-lesen/comment-page-1#comment-1082</link>
		<dc:creator>Roland</dc:creator>
		<pubDate>Wed, 06 Apr 2011 14:01:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.baldenhofer.eu/blog/?p=224#comment-1082</guid>
		<description>Hallo calli,

ich habe mal schnell gegoogelt.
Unter &lt;a href=&quot;http://www.scriptwell.net/howtoplaysound.htm&quot; rel=&quot;nofollow&quot;&gt;how to play sound&lt;/a&gt; steht eine recht gute Erklärung wie du einen Sound abspielen kannst.
Ich habe hier ein funktionierendes Demo zusammengestöpselt:
&lt;code&gt;
&lt;html&gt;
&lt;head&gt;
	&lt;title&gt;Huhu&lt;/title&gt;
&lt;script language=&quot;JavaScript&quot;&gt; 
&lt;!--

function getMimeType(){
	var mimeType = &quot;application/x-mplayer2&quot;; //default
	var agt=navigator.userAgent.toLowerCase();
	if (navigator.mimeTypes &amp;&amp; agt.indexOf(&quot;windows&quot;)==-1) {
		//non-IE, no-Windows
  		var plugin=navigator.mimeTypes[&quot;audio/mpeg&quot;].enabledPlugin;
  		if (plugin){
			mimeType=&quot;audio/mpeg&quot; //Mac/Safari &amp; Linux/FFox
		}
	}//end no-Windows
	return mimeType
}
function setEmbed(ID, dir) {
    var element = document.getElementById(ID);
    //Write the following three lines in one:
    element.innerHTML = &#039;&lt;embed src=&quot;&#039;+dir+&#039;&quot; autostart=&quot;1&quot; loop=&quot;0&quot; height=&quot;45&quot; width=&quot;170&quot; type=&quot;&#039;+getMimeType()+&#039;&quot;&gt;&lt;/embed&gt;&#039;;
}
--&gt;
&lt;/script&gt;

&lt;/head&gt;
&lt;body onload=&quot;setEmbed(&#039;sample&#039;, &#039;http://simplythebest.net/sounds/WAV/sound_effects_WAV/sound_effect_WAV_files/ape.wav&#039;)&quot;&gt;
&lt;span id=&quot;sample&quot;&gt;Finding plugin...&lt;/span&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;/code&gt;
Das sollte auf Firefox, IE usw. funktionieren...
Dieses Teil erstellt einen Player der im &lt;strong&gt;span id=&quot;sample&quot;&lt;/strong&gt; eingefügt wird. Du kannst das Teil natürlich auch nicht beim body-Tag aufrufen sondern z.B. wenn ein Button gedrückt wird.
Die Funktion setEmbed() sorgt dafür, dass das richtige Tag pro Browser eingefügt wird. Das Attribute &lt;strong&gt;autostart &lt;/strong&gt;sorgt dafür, dass dein sound sofort losläuft. Wenn du das nicht willst, kannst du ihn auf &quot;0&quot; setzen.
Ich hoffe, ich konnte dir ein wenig helfen.

Grüssle

Roland</description>
		<content:encoded><![CDATA[<p>Hallo calli,</p>
<p>ich habe mal schnell gegoogelt.<br />
Unter <a href="http://www.scriptwell.net/howtoplaysound.htm" rel="nofollow">how to play sound</a> steht eine recht gute Erklärung wie du einen Sound abspielen kannst.<br />
Ich habe hier ein funktionierendes Demo zusammengestöpselt:<br />
<code><br />
&lt;html&gt;<br />
&lt;head&gt;<br />
	&lt;title&gt;Huhu&lt;/title&gt;<br />
&lt;script language="JavaScript"&gt;<br />
&lt;!--</p>
<p>function getMimeType(){<br />
	var mimeType = "application/x-mplayer2"; //default<br />
	var agt=navigator.userAgent.toLowerCase();<br />
	if (navigator.mimeTypes &#038;&#038; agt.indexOf("windows")==-1) {<br />
		//non-IE, no-Windows<br />
  		var plugin=navigator.mimeTypes["audio/mpeg"].enabledPlugin;<br />
  		if (plugin){<br />
			mimeType="audio/mpeg" //Mac/Safari &#038; Linux/FFox<br />
		}<br />
	}//end no-Windows<br />
	return mimeType<br />
}<br />
function setEmbed(ID, dir) {<br />
    var element = document.getElementById(ID);<br />
    //Write the following three lines in one:<br />
    element.innerHTML = '&lt;embed src="'+dir+'" autostart="1" loop="0" height="45" width="170" type="'+getMimeType()+'"&gt;&lt;/embed&gt;';<br />
}<br />
--&gt;<br />
&lt;/script&gt;</p>
<p>&lt;/head&gt;<br />
&lt;body onload="setEmbed('sample', '<a href="http://simplythebest.net/sounds/WAV/sound_effects_WAV/sound_effect_WAV_files/ape.wav" rel="nofollow">http://simplythebest.net/sounds/WAV/sound_effects_WAV/sound_effect_WAV_files/ape.wav</a>')"&gt;<br />
&lt;span id="sample"&gt;Finding plugin...&lt;/span&gt;<br />
&lt;/body&gt;<br />
&lt;/html&gt;<br />
</code><br />
Das sollte auf Firefox, IE usw. funktionieren&#8230;<br />
Dieses Teil erstellt einen Player der im <strong>span id=&#8221;sample&#8221;</strong> eingefügt wird. Du kannst das Teil natürlich auch nicht beim body-Tag aufrufen sondern z.B. wenn ein Button gedrückt wird.<br />
Die Funktion setEmbed() sorgt dafür, dass das richtige Tag pro Browser eingefügt wird. Das Attribute <strong>autostart </strong>sorgt dafür, dass dein sound sofort losläuft. Wenn du das nicht willst, kannst du ihn auf &#8220;0&#8243; setzen.<br />
Ich hoffe, ich konnte dir ein wenig helfen.</p>
<p>Grüssle</p>
<p>Roland</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: calli</title>
		<link>http://www.baldenhofer.eu/blog/it/programmieren/mit-javascript-aus-einem-dokument-daten-lesen/comment-page-1#comment-1081</link>
		<dc:creator>calli</dc:creator>
		<pubDate>Wed, 06 Apr 2011 09:29:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.baldenhofer.eu/blog/?p=224#comment-1081</guid>
		<description>Ich würde gerne aus meinem Javascrip-scrip einen Alert-Sound &#039;erklingen&#039; lassen.

Aber bereits das init versagt (siehe unten für den Code)

Leider habe ich nix gefunden ausser einen nicht mehr funktionierenden Lösung mit netscape aus dem Jahr 2005 :(

Gäbe es eeinen Weg und könnte man den nicht &#039;veröfffentlichen&#039;.

Danke für das Interesse,
calli

// das wäre jetzt der Code

var soundfile = &quot;file:///C:\Users\cas\Music\sounds\BellTinyStrike.wav&quot;;
var sound = Components.classes[&quot;@mozilla.org/sound;1&quot;].createInstance(Components.interfaces.nsISound); 
// Error:  has no allowance to read the properties of XPCComponents.classes.


playThis(soundfile);


function playThis(soundfile) {

	var s = Components.classes[&quot;@mozilla.org/sound;1&quot;].createInstance(Components.interfaces.nsISound);
	var sUri; 
	
	if (soundfile.search(&quot;://&quot;) == -1) {
		var ios = Components.classes[&#039;@mozilla.org/network/io-service;1&#039;].getService(Components.interfaces.nsIIOService);
		var file = Components.classes[&quot;@mozilla.org/file/local;1&quot;].createInstance(Components.interfaces.nsILocalFile);
		file.initWithPath(soundfile);
		sUri = ios.newFileURI(file);
	} else {
	  sUri = Components.classes[&#039;@mozilla.org/network/standard-url;1&#039;].createInstance(Components.interfaces.nsIURI);
	  sUri.spec = soundfile;
	}
	s.play(sUri);

}</description>
		<content:encoded><![CDATA[<p>Ich würde gerne aus meinem Javascrip-scrip einen Alert-Sound &#8216;erklingen&#8217; lassen.</p>
<p>Aber bereits das init versagt (siehe unten für den Code)</p>
<p>Leider habe ich nix gefunden ausser einen nicht mehr funktionierenden Lösung mit netscape aus dem Jahr 2005 <img src='http://www.baldenhofer.eu/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>Gäbe es eeinen Weg und könnte man den nicht &#8216;veröfffentlichen&#8217;.</p>
<p>Danke für das Interesse,<br />
calli</p>
<p>// das wäre jetzt der Code</p>
<p>var soundfile = &#8220;file:///C:\Users\cas\Music\sounds\BellTinyStrike.wav&#8221;;<br />
var sound = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound);<br />
// Error:  has no allowance to read the properties of XPCComponents.classes.</p>
<p>playThis(soundfile);</p>
<p>function playThis(soundfile) {</p>
<p>	var s = Components.classes["@mozilla.org/sound;1"].createInstance(Components.interfaces.nsISound);<br />
	var sUri; </p>
<p>	if (soundfile.search(&#8220;://&#8221;) == -1) {<br />
		var ios = Components.classes['@mozilla.org/network/io-service;1'].getService(Components.interfaces.nsIIOService);<br />
		var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);<br />
		file.initWithPath(soundfile);<br />
		sUri = ios.newFileURI(file);<br />
	} else {<br />
	  sUri = Components.classes['@mozilla.org/network/standard-url;1'].createInstance(Components.interfaces.nsIURI);<br />
	  sUri.spec = soundfile;<br />
	}<br />
	s.play(sUri);</p>
<p>}</p>
]]></content:encoded>
	</item>
</channel>
</rss>

