übertragen sie daten über com\_ajax in eine joomla-umgebung
<p>update 2:</p><p>es wurden 2 kleine änderungen am folgenden code vorgenommen ("echo" anstelle von "return" und "exit (); am ende des skripts" hinzugefügt). jetzt funktioniert der code wie erwartet. dies verwendete ein jquery.get. ich werde jetzt mit curl testen, aber ich gehe davon aus, dass die dinge genauso funktionieren werden.</p><p>vielen dank an diejenigen, die geantwortet haben. es brachte mich in die richtige richtung.</p><p>aktualisieren:</p><p>ich war ein paar tage davon entfernt, aber ich bin wieder da.</p><p>ich habe eine kleine komponente erstellt und einen kleinen test eingerichtet. der code für die komponente lautet:</p><pre><code> &lt;?php use joomla\cms\log\log; defined('\_jexec') or die; jlog::addlogger( array('text\_file' =&gt; 'reverse\_log.php'), jlog::info, array('reverse')); jlog::add('you have reached com\_reverse', jlog::info, 'reverse'); $app = jfactory::getapplication(); $in = $app-&gt;input; $text\_str = ""; $text\_str = $in-&gt;getstring('text\_str', 'gnirts on'); jlog::add('text string is: ' . $text\_str, jlog::info, 'reverse'); echo "remote: " . strrev($text\_str); exit(); </code></pre><p>wie sie sehen können, rufe ich eine zeichenfolge ab, kehre sie um und gebe sie zurück. außerdem protokolliere ich einige nachrichten.</p><p>dies funktioniert teilweise. ich komme zu meiner komponente und protokolliere die nachrichten. anstelle der umgekehrten zeichenfolge wird jedoch die webseite zurückgegeben (der html-code der startseite der joomla-site). gibt es eine möglichkeit, dies zu unterdrücken und die umgekehrte zeichenfolge zu erhalten?</p><p>danke.</p><hr><p>was einfach erscheint, erweist sich für mich als ziemlich rätselhaft und ich brauche ein paar hinweise. das szenario ist, dass standort a von zeit zu zeit einige daten zur verarbeitung an standort j (eine joomla-umgebung) sendet. site j hat keine neigung, dass site a dies tun wird. site j initiiert den austausch nicht, site a jedoch. dies ist ausschließlich server zu server. es gibt keine menschliche schnittstelle.</p><p>ich habe die dokumentation gelesen und habe den eindruck, dass dies mit com\_ajax mit einem curl-aufruf von site a möglich ist. ich kann einfach nicht verstehen, wie, wie die beziehung zwischen helper.php und modulename.php ist und was javascript tun muss damit machen (es gibt keine ui)? was ich wirklich brauche, ist eine erklärung des flusses. kann mich bitte jemand aufklären?.</p>
<p>wie aus den aktualisierungen der ursprünglichen frage hervorgeht, konnte ich meinen code zum laufen bringen, obwohl ich com\_ajax nicht verwendet und meine eigene komponente darauf aufgebaut habe. es gab ein paar haken auf dem weg, aber durch das erstellen meiner eigenen kleinen komponente bekam ich den code so, wie ich es brauchte.</p><p>dazu musste ich der .htaccess-datei der joomla-umgebung einen cors-header hinzufügen, der die daten (site j aus meiner ursprünglichen frage) für access control allow origin (in apache: header-set access-control-allow-origin) verarbeitet. <a href="https://your.originating.site">https://your.originating.site</a> '), um zugriff auf die gehostete umgebung zu erhalten. ich bekam immer eine 301 ohne.</p><p>zuletzt möchte php eine html-datei zurückgeben. genau das tut es. der befehl exit () beendet das skript, bevor die homepage der zielwebsite für sie "zurückgegeben" wird. vielleicht ein wenig eine etwas harte herangehensweise, aber es funktioniert und wird meinen bedürfnissen entsprechen.</p><p>nochmals vielen dank an diejenigen, die geantwortet haben. es half mir, in die richtung zu weisen, die ich brauchte.</p><p>um daten an meine kleine komponente (com\_reverse) zu "pushen", habe ich ein jquery.get und ein curl get verwendet.</p><p>jquery (aus javascript, der kürze halber vereinfacht)</p><pre><code>jquery.get("https://my.joomla.site/index.php?option=com\_reverse", {"text\_str": "text string to reverse"}, function(result) { alert(result) }); </code></pre><p>curl (aus php wiederum der kürze halber vereinfacht)</p><pre><code>$ch = curl\_init(); // initialize curl $curl\_url = "https://my.joomls.site/index.php?option=com\_reverse" . "&amp;text\_str=" . urlencode("string to reverse") //curl\_setopt( $ch, curlopt\_get, 1 ); // get is the default curl\_setopt($ch, curlopt\_url, $curl\_url); curl\_setopt($ch, curlopt\_ssl\_verifyhost,0); curl\_setopt($ch, curlopt\_ssl\_verifypeer, 0); curl\_setopt($ch, curlopt\_returntransfer, 1 ); curl\_setopt($ch, curlopt\_followlocation, 1); // required for redirects $curl\_result = curl\_exec($ch); curl\_close($ch); echo "curl result: " . $curl\_result; // echos back to calling script </code></pre><p>hinweis: curl get und umleitung haben probleme. sie verlieren unterwegs die url-codierung von zeichenfolgen und ihre zeichenfolgen enden am ersten leerzeichen. dies ist für mich kein großes problem, da die meisten daten, die ich verwenden werde, numerisch sind. um dies zu überwinden, ändere ich einfach "" in "~" in meinen zeichenketten und kehre das vor dem "echo" um. wenn jemand eine möglichkeit kennt, die url-codierung über 2 oder 3 weiterleitungen aufrechtzuerhalten, würde ich gerne wissen, wie (es gibt viele curl-optionen, die ich noch nicht untersucht habe).</p><p>hinweis 2: sie sollten einige sicherheitsfunktionen integrieren, wenn sie dies tun möchten. ich werde ein paar schecks in meinen endgültigen code einfügen. dies war nur um herauszufinden, was funktionieren würde.</p>
<h2>moderne html5-techniken zum ändern von klassen</h2><p>moderne browser haben <a href="https://developer.mozilla.org/en-us/docs/dom/element.classlist"><strong>classlist</strong></a> hinzugefügt, das methoden zur verfügung stellt, mit denen klassen leichter ohne bibliotheken bearbeitet werden können:</p><pre><code>document.getelementbyid("myelement").classlist.add('myclass'); document.getelementbyid("myelement").classlist.remove('myclass'); if ( document.getelementbyid("myelement").classlist.contains('myclass') ) document.getelementbyid("myelement").classlist.toggle('myclass'); </code></pre><p>leider funktionieren diese in internet explorer vor version 10 nicht, obwohl es ein <a href="http://en.wikipedia.org/wiki/shim\_(computing)">shim</a> gibt, um die unterstützung für ie8 und ie9 hinzuzufügen, die unter <a href="https://developer.mozilla.org/en-us/docs/dom/element.classlist">diese seite</a> verfügbar ist. es wird jedoch immer mehr <a href="http://caniuse.com/#feat=classlist">unterstützt</a> .</p><h2>einfache browserübergreifende lösung</h2><p>die standard-javascript-methode zur auswahl eines elements ist <a href="https://developer.mozilla.org/en-us/docs/dom/document.getelementbyid"><code>document.getelementbyid("id")</code></a> . dies wird in den folgenden beispielen verwendet. sie können elemente natürlich auch auf andere weise erhalten. in der richtigen situation können sie stattdessen einfach <code>this</code> verwenden ins detail geht dies nicht in den rahmen der antwort.</p><h3>so ändern sie alle klassen für ein element:</h3><p>um alle vorhandenen klassen durch eine oder mehrere neue klassen zu ersetzen, legen sie das classname-attribut fest:</p><pre><code>document.getelementbyid("myelement").classname = "myclass"; </code></pre><p>(sie können eine durch leerzeichen getrennte liste verwenden, um mehrere klassen anzuwenden.)</p><h3>so fügen sie einem element eine zusätzliche klasse hinzu:</h3><p>um einem element eine klasse hinzuzufügen, ohne vorhandene werte zu entfernen/zu beeinflussen, fügen sie ein leerzeichen und den neuen klassennamen wie folgt hinzu:</p><pre><code>document.getelementbyid("myelement").classname += " myclass"; </code></pre><h3>so entfernen sie eine klasse aus einem element:</h3><p>um eine einzelne klasse zu einem element zu entfernen, ohne andere potenzielle klassen zu beeinflussen, ist ein einfacher regex-ersetzen erforderlich:</p><pre><code>document.getelementbyid("myelement").classname = document.getelementbyid("myelement").classname.replace ( /(?:^|\s)myclass(?!\s)/g , '' ) /* code wrapped for readability - above is all one statement */ </code></pre><p>eine erklärung dieser regex lautet wie folgt:</p><pre><code>(?:^|\s) # match the start of the string, or any single whitespace character myclass # the literal text for the classname to remove (?!\s) # negative lookahead to verify the above is the whole classname # ensures there is no non-space character following # (i.e. must be end of string or a space) </code></pre><p>das flag <code>g</code> weist das ersetzen an, nach bedarf zu wiederholen, falls der klassenname mehrmals hinzugefügt wurde.</p><h3>so prüfen sie, ob eine klasse bereits auf ein element angewendet wurde:</h3><p>der gleiche reguläre ausdruck, der oben zum entfernen einer klasse verwendet wurde, kann auch zur überprüfung verwendet werden, ob eine bestimmte klasse vorhanden ist:</p><pre><code>if ( document.getelementbyid("myelement").classname.match(/(?:^|\s)myclass(?!\s)/) ) </code></pre><p><br/></p><h3>zuweisen dieser aktionen zu onclick-ereignissen:</h3><p>es ist zwar möglich, javascript direkt in die html-ereignisattribute (z. b. <code>onclick="this.classname+=' myclass'"</code>) zu schreiben, dies wird jedoch nicht empfohlen. insbesondere bei größeren anwendungen wird durch die trennung von html-markup von javascript-interaktionslogik ein wartungsfähigerer code erzielt.</p><p>der erste schritt dazu ist das erstellen einer funktion und das aufrufen der funktion im onclick-attribut. beispiel:</p><pre><code>&lt;script type="text/javascript"&gt; function changeclass(){ // code examples from above } &lt;/script&gt; ... &lt;button onclick="changeclass()"&gt;my button&lt;/button&gt; </code></pre><p><sub><em>(es ist nicht erforderlich, dass dieser code in skript-tags enthalten ist. dies ist lediglich der kürze halber als beispiel gedacht. das einschließen von javascript in eine andere datei ist möglicherweise geeigneter.)</em></sub></p><p>der zweite schritt besteht darin, das onclick-ereignis aus dem html-code in javascript zu verschieben, beispielsweise mit <a href="https://developer.mozilla.org/en-us/docs/dom/element.addeventlistener">addeventlistener</a> </p><pre><code>&lt;script type="text/javascript"&gt; function changeclass(){ // code examples from above } window.onload = function(){ document.getelementbyid("myelement").addeventlistener( 'click', changeclass); } &lt;/script&gt; ... &lt;button id="myelement"&gt;my button&lt;/button&gt; </code></pre><p>(beachten sie, dass der window.onload-teil erforderlich ist, damit der inhalt dieser funktion <em>ausgeführt wird, nachdem der html-code</em> vollständig geladen wurde. andernfalls ist das myelement möglicherweise nicht vorhanden, wenn der javascript-code aufgerufen wird, sodass die zeile fehlschlägt .)</p><p><br/></p><h2>javascript frameworks und bibliotheken</h2><p>der obige code ist alles in standard-javascript enthalten. es ist jedoch üblich, entweder ein framework oder eine bibliothek zu verwenden, um allgemeine aufgaben zu vereinfachen und von behobenen fehlern und edge-fällen zu profitieren, an die sie beim schreiben des codes nicht denken.</p><p>während einige leute es für übertrieben halten, ein ~ 50 kb-framework für das einfache ändern einer klasse hinzuzufügen, ist die überlegung, wenn sie umfangreiche javascript-arbeiten ausführen oder etwas, das ungewöhnliches cross-browser-verhalten hat, eine überlegung wert.</p><p><em>(in groben zügen handelt es sich bei einer bibliothek um eine reihe von werkzeugen, die für eine bestimmte aufgabe entwickelt wurden, während ein framework im allgemeinen mehrere bibliotheken enthält und eine reihe von aufgaben ausführt.)</em></p><p>die obigen beispiele wurden im folgenden mit <a href="http://jquery.com">jquery</a> wiedergegeben, wahrscheinlich der am häufigsten verwendeten javascript-bibliothek (obwohl es auch andere gibt, die es zu untersuchen gilt).</p><p>(beachten sie, dass <code>$</code> hier das jquery-objekt ist.)</p><h3>klassen mit jquery ändern:</h3><pre><code>$('#myelement').addclass('myclass'); $('#myelement').removeclass('myclass'); if ( $('#myelement').hasclass('myclass') ) </code></pre><p>darüber hinaus bietet jquery eine verknüpfung zum hinzufügen einer klasse, wenn sie nicht angewendet wird, oder zum entfernen einer klasse, die folgendes ausführt:</p><pre><code>$('#myelement').toggleclass('myclass'); </code></pre><p><br/></p><h3>zuweisen einer funktion zu einem klickereignis mit jquery:</h3><pre><code>$('#myelement').click(changeclass); </code></pre><p>oder, ohne eine id zu benötigen:</p><pre><code>$(':button:contains(my button)').click(changeclass); </code></pre><p><br/></p> hi@statia,herzlich willkommen in unserer community.tut mir leid, dass es bei dir einen zugriff durch dritte gibt. bitte wundere dich nicht, dass ich deinen post verschoben habe. wir haben das thema bereits vorliegen, daher habe ich ihn hierher verschoben.bitte ändere zuerst direkt deine zugangsdaten, indem du das passwort zurücksetzt. im nachfolgenden link findest du eine anleitung dafür, wie das passwort neu vergeben werden kann:ferne bitte ich dich, wobei dies vom gerät abhängt, alle automatischen logins zu entfernen. logge dich also einmal bewusst aus allen joyn apps aus, in denen du eingeloggt bist. ein schließen der app führt nicht automatisch zum logout aus der app, wodurch andere, wenn sie zugriff auf das gerät haben, beim Öffnen der app inhalte sehen können. Eine Route ist nur eine Funktion. Sie können also wie gewohnt Argumente übergeben:


```
<code>// Redirect to /hello/Bob
def helloBob = Action {
    Redirect(routes.Application.hello("Bob"))    
}
</code>
```
Dieser Ausschnitt stammt von<http://www.playframework.org/documentation/2.0/ScalaRouting> (unten) <p>ich verwende <a href="http://noscript.net/features">noscript</a> , aber liste jede site auf, die ich tatsächlich verwenden möchte.</p><blockquote> <p>wenn sie noscript installieren, werden javascript, java, flash silverlight und möglicherweise andere ausführbare inhalte standardmäßig <em> blockiert </em>. sie können <em> die ausführung von </em> javascript/java/... selektiv auf den websites zulassen, denen sie vertrauen. sie können einer site erlauben, skripte vorübergehend auszuführen, wenn sie nur zufällig oder dauerhaft surfen, wenn sie sie häufig besuchen und ihr wirklich vertrauen. dies bedeutet, dass noscript aus ihren eigenen browsergewohnheiten lernt und nach einer weile im hintergrund verschwindet. wenn sie jedoch auf eine schädliche webseite stoßen, wird es sofort wieder angezeigt, um ihren tag zu retten.</p> <p>wenn sie eine site mit blockierten skripten durchsuchen, wird eine benachrichtigung angezeigt, die der vom popupblocker ausgegebenen ähnelt.<br> sehen sie sich das symbol oder das statusleistensymbol an, um die aktuellen noscript-berechtigungen zu erfahren ...</p> <p><img src="https://i.stack.imgur.com/zfxkv.png" alt="http://noscript.net/noscript/ss0.png" title="noscript tooltip screen shot"></p> </blockquote> Hallo yelaaa!


Ich habe Dir hier mal eine kleine Bildanleitung erstellt.Ich hoffe die Anleitung ist verständlich genug.Ansonsten kannst Du dich ja wieder melden.







VG sagenharz das geht sehr gut sogar, infos bei help unter support, da wirst du fündig zu dem thema.

j.s. hi @maglor, willkommen bei uns in der community.das klingt aber nicht schön mit deiner beam. welche quellen spielst du genau ab? klingt es bei einer radiowiedergabe genau so?um einen hardwarefehler auszuschließen, solltest du unseren support kontaktieren.support via telefon (mo - fr, 10:00 - 18:00) oder chatgrüßestefan du warst mit einem anderen browser aber mit deinem account auf deiner seite!
geh zu einem freund und lass den deine seite aufrufen, und du wirst sehen sie sieht so aus wie du sie eingerichtet hast.
beruhigen und entspannen, alles halb so schlimm. Ansonsten kann es auch hilfreich sein, das Handgerät über die Einstellungen vom Router zu trennen und erneut zu verbinden.


 


Ansonsten mal bei der Hotline nachfragen. (Wenn natürlich der Reset oder auch der Restart nichts gebracht hat.)



 Gruess, Cordial salids, Cordialement, Cordiali saluti  
Dominik  
  
<https://dev.exena.ga> Sie können Ihr Set `JAVA_HOME` in `/etc/profile` als [Petronilla Escarabajo](https://askubuntu.com/a/175519/19723) vermuten lässt. Der bevorzugte Speicherort für `JAVA_HOME` eine Systemvariable ist jedoch `/etc/environment` .

Öffnen Sie `/etc/environment` in einem beliebigen Texteditor wie `nano` oder `gedit` und fügen Sie die folgende Zeile hinzu:


```
 JAVA_HOME="/usr/lib/jvm/open-jdk"
 
```
(Java-Pfad könnte anders sein)

Verwenden Sie `source` diesen Befehl, um die Variablen zu laden:


```
 source /etc/environment
 
```
Überprüfen Sie dann die Variable, indem Sie diesen Befehl ausführen:


```
 echo $JAVA_HOME
 
```
**Aktualisieren**

Normalerweise beziehen die meisten Linux-Systeme standardmäßig / etc / environment. Wenn Ihr System dies nicht tut, fügen Sie die folgende Zeile hinzu `~/.bashrc` (Danke @pje)


```
 source /etc/environment
 
```