[TYPO3-german] Einbindung von Inline JS code

Dipl.-Ing. Rainer Schleevoigt rainer.schleevoigt at uni-hamburg.de
Sun Jul 28 09:16:11 CEST 2019


Hallo Dieter,

der Unterschied ist der $NS (namespace)?

Gruss Rainer

On 27.07.19 21:23, _doc wrote:
> Dein Script ist falsch.
> 
> In https://gist.github.com/AppWerft/f214d2a3eaf70b039b1d7ec047f3a84c 
> müssen die Zeilen
> 
> $ts .= " $NS$count.value(\n";
> $ts .= " $NS$count = TEXT\n";
> 
> zu
> 
> $ts .= " $count.value(\n";
> $ts .= "$count = TEXT\n";
> 
> geändert werden.
> Wenn du das Skript mehrfach aufrufst, kann es natürlich Probleme geben, 
> wenn ein dynamisches TypoScript das andere dynamische TypoScript 
> überschreibt.
> 
> 
> Dieter
> 
> Am 27.07.2019 um 17:36 schrieb Dipl.-Ing. Rainer Schleevoigt:
>> Hallo Dieter,
>>
>> jetzt ahben wir also eine Diagnose, fehlt noch die Therapie. Leider 
>> finde ich kein Beispiel:
>>
>> https://www.google.com/search?client=firefox-b-d&q=typoscript+jsFooterInline+sample 
>>
>>
>> Gruss Rainer
>>
>>
>>
>>
>> On 27.07.19 17:25, _doc wrote:
>>> Hallo Birgit,
>>> Hallo Rainer,
>>>
>>> ich habe den Code einmal be einer Aufsetzung eingebaut. Er 
>>> funktioniert nicht, weil das TypoScript falsch ist:
>>> https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Setup/Carray/Index.html 
>>>
>>> Ich habe es er verstanden, als ich in 
>>> TYPO3\CMS\Frontend\Http\RequestHandler Zeile 853 dem PHP-Trace 
>>> gefolgt bin und auf die Zeile
>>> $sKeyArray = ArrayUtility::filterAndSortByNumericKeys($setup);
>>> stieß.
>>>
>>> Im CArray von jsFooterInline sind nur Nummern erlaubt (siehe oben). 
>>> Während des PageRendering-Proczesses prüft dies TYPO3 ab und übergeht 
>>> die Information aus dem TypoScript.
>>> Das Gemeine ist, dass der PageObject-Browser dies nicht prüft, 
>>> sondern stumpf das falsche TypoScript-Objekt anzeigt. Man hat also 
>>> den Eindruck, dass das eingegebene TypoScript korrekt ist.
>>> Auch der Template-Analyzer zeigt es nicht als Fehler an.
>>> (TYPO3 9.5)
>>>
>>> Das generierte TypoScript darf also nicht funktionieren.
>>>
>>> Mit besten Grüßen
>>>
>>>     Dieter
>>>
>>> P.S. @Rainer
>>> Es wäre schön, wenn du unter 
>>> https://forge.typo3.org/projects/typo3cms-core/issues ein Bug-Ticket 
>>> schreiben würdest.
>>> der TemplateAnalyse sollte eine Fehlermeldung generieren und der der 
>>> TypoScript-Objektbrowser sollte den Code nicht anzeigen.
>>>
>>>
>>> Am 27.07.2019 um 13:24 schrieb Birgit:
>>>> Hallo Rainer,
>>>>
>>>> hast du im Typoscript Object Browser schon geprüft, ob im letzten 
>>>> Element darüber, das noch ausgeführt wird, eine abschließende 
>>>> Klammer fehlt?
>>>>
>>>> Oder hast dudie folgende Einstellung im config?
>>>>
>>>> With config.removeDefaultJS = external , the inline JavaScript is 
>>>> moved to an external file.
>>>>
>>>>
>>>> viele Grüße
>>>> Birgit
>>>>
>>>>> Am 27.07.2019 um 09:52 schrieb _doc <_doc at freenet.de>:
>>>>>
>>>>> Hallo Rainer,
>>>>>
>>>>> Mein erste Tipp: Klammer zuviel im JavaScript. Module Template: 
>>>>> Prüfe mit dem Typoscript-Objekt-Browser, ob dein Code überhaupt 
>>>>> eingebunden wird, bzw. lasse die dein TypoScript anzeigen, um 
>>>>> gegebenenfalls Syntax- /Klammerfehler zu finden.
>>>>>
>>>>> Mein 2. Tipp: Schreibe oberhalb und unterhalb des Uglifyten Codes 
>>>>> einen JavaScript-Kommentar  oder nutze das Gleichheitszeichen (Dein 
>>>>> Code ist ja einzeilig.)
>>>>>
>>>>> page.jsFooterInline {
>>>>>     hosvirt_20 =TEXT hosvirt_20.value =!function(l){function 
>>>>> e(e){for(var 
>>>>> r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r 
>>>>> in 
>>>>> o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return 
>>>>> c.push.apply(c,u||[]),a()}function a(){for(var 
>>>>> e,r=0;r<c.length;r++){for(var t=c[r],n=!0,o=1;o<t.length;o++){var 
>>>>> u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return 
>>>>> e}var t={},p={1:0},c=[];function f(e){if(t[e])return 
>>>>> t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return 
>>>>> l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof 
>>>>> Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return 
>>>>> r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var 
>>>>> t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof 
>>>>> r)for(var n in r)f.d(t,n,function(e){return 
>>>>> r[e]}.bind(null,n));return t},f.n=function(e){var 
>>>>> r=e&&e.__esModule?function(){return e.default}:function(){return 
>>>>> e};return f.d(r,"a",r),r},f.o=function(e,r){return 
>>>>> Object.prototype.hasOwnProperty.call(e,r)},f.p="./";var 
>>>>> r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var 
>>>>> o=0;o<r.length;o++)e(r[o]);var s=n;a()}([]) }
>>>>>
>>>>> Mit besten Grüßen
>>>>>
>>>>>     Dieter
>>>>>
>>>>>
>>>>> Am 26.07.2019 um 19:32 schrieb Dipl.-Ing. Rainer Schleevoigt:
>>>>>> Hi,
>>>>>>
>>>>>>
>>>>>> Das ist ein Teil meines Codes:
>>>>>>
>>>>>> page.jsFooterInline {
>>>>>>      hosvirt_20 = TEXT
>>>>>>      hosvirt_20.value(
>>>>>>   !function(l){function e(e){for(var 
>>>>>> r,t,n=e[0],o=e[1],u=e[2],f=0,i=[];f<n.length;f++)t=n[f],p[t]&&i.push(p[t][0]),p[t]=0;for(r 
>>>>>> in 
>>>>>> o)Object.prototype.hasOwnProperty.call(o,r)&&(l[r]=o[r]);for(s&&s(e);i.length;)i.shift()();return 
>>>>>> c.push.apply(c,u||[]),a()}function a(){for(var 
>>>>>> e,r=0;r<c.length;r++){for(var t=c[r],n=!0,o=1;o<t.length;o++){var 
>>>>>> u=t[o];0!==p[u]&&(n=!1)}n&&(c.splice(r--,1),e=f(f.s=t[0]))}return 
>>>>>> e}var t={},p={1:0},c=[];function f(e){if(t[e])return 
>>>>>> t[e].exports;var r=t[e]={i:e,l:!1,exports:{}};return 
>>>>>> l[e].call(r.exports,r,r.exports,f),r.l=!0,r.exports}f.m=l,f.c=t,f.d=function(e,r,t){f.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:t})},f.r=function(e){"undefined"!=typeof 
>>>>>> Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.t=function(r,e){if(1&e&&(r=f(r)),8&e)return 
>>>>>> r;if(4&e&&"object"==typeof r&&r&&r.__esModule)return r;var 
>>>>>> t=Object.create(null);if(f.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),2&e&&"string"!=typeof 
>>>>>> r)for(var n in r)f.d(t,n,function(e){return 
>>>>>> r[e]}.bind(null,n));return t},f.n=function(e){var 
>>>>>> r=e&&e.__esModule?function(){return e.default}:function(){return 
>>>>>> e};return f.d(r,"a",r),r},f.o=function(e,r){return 
>>>>>> Object.prototype.hasOwnProperty.call(e,r)},f.p="./";var 
>>>>>> r=window.webpackJsonp=window.webpackJsonp||[],n=r.push.bind(r);r.push=e,r=r.slice();for(var 
>>>>>> o=0;o<r.length;o++)e(r[o]);var s=n;a()}([])
>>>>>>      )
>>>>>> }
>>>>>>
>>>>>>
>>>>>> Es wird nicht sichtbar auf der Webseite, alle andere Includes über 
>>>>>> Files klappen. Was mache  ich nur falsch? Das gleiche Problem mit 
>>>>>> jsFooter. Im TS-Baum wird es richtig angezeigt.
>>>>>>
>>>>>> Gruß Rainer
>>>>>>
>>>>> -- 
>>>>> ---
>>>>>
>>>>> Dr. Dieter Porth
>>>>> Grünenstraße 23
>>>>> D-28199 Bremen
>>>>> Germany
>>>>>
>>>>> +(049) 421 / 51 48 35 48
>>>>> +(049) 160 / 99 18 06 88 (abends/ after 18:00)
>>>>>
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>
>>

-- 
Dipl.-Ing. Rainer Schleevoigt
Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
IT, Forschung und Entwicklung
„Hamburg Open Science“ DTO
Von-Melle-Park 3, 20146 Hamburg
Telefon (040) 428382590 | Fax (040) 41345070
Mail: rainer.schleevoigt at sub.uni-hamburg.de
http://www.sub.uni-hamburg.de


More information about the TYPO3-german mailing list