Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
code auslagern
#1
PHP-Code:
<script type="text/javascript">
ShoutBox.refreshInterval = {$mybb->settings[sf_sb_refresh_interval]};
ShoutBox.MaxEntries = {$mybb->settings[sf_sb_shouts_main]};
ShoutBox.lang = ['{$lang->sf_sb_posting}''{$lang->sf_sb_shoutnow}''{$lang->sf_sb_loading}''{$lang->sf_sb_flood_check}'"{$lang->sf_sb_no_perform}"];
{
$extra_js}


jQuery(document).ready(function($) {
    ShoutBox.showShouts();
    $(".sb_smilie").on("click", function() {
        $("#shout_data").focus();
        var smiley = $(this).attr("alt");
        $("#shout_data").replaceSelectedText(smiley " ");
        $("#shout_data").focus();

    });
   
});
</
script

ich habe schon ne weile probiert. wie schaffe ich es diese beiden segemente auszulagern in den ordner jscripts. jquery und darüberliegenden code in jeweils eine js-datei gepackt. funktioniert, aber dann wird ein missing argument bemängelt. da ich hier nicht weiter weiss, frag ich halt. danke
Mit freundlichen Grüßen



Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Zitieren
#2
Der Teil mit den PHP-Variablen wird sich kaum auslagern lassen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
also der obere teil? mach ich dies nicht, dann meckert der validator bzw. die konsole wegen dem script? gibt es da noch eine lösung? den code iwie verpacken?

- habe jetzt den jquery teil in eine js-datei gepackt
- oberen teil in die headerinclude

Code:
<script type="text/javascript">
//<![CDATA[<!--var ShoutBox.refreshInterval = "{$mybb->settings[sf_sb_refresh_interval]}";var ShoutBox.MaxEntries = "{$mybb->settings[sf_sb_shouts_main]}";var ShoutBox.lang = "['{$lang->sf_sb_posting}', '{$lang->sf_sb_shoutnow}', '{$lang->sf_sb_loading}', '{$lang->sf_sb_flood_check}', "{$lang->sf_sb_no_perform}"]";// -->//]]></script>

dann sagt mir die konsole folgendes:

SyntaxError: missing ; before statement index.php:52:12 ---> var ShoutBox.refreshInterval = "7";
SyntaxError: expected expression, got ')'
Mit freundlichen Grüßen



Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Zitieren
#4
Du kannst Javascript in einen HTML-Kommentar packen: http://stackoverflow.com/questions/15138...80#1513880
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
geht nicht....
so hab jetzt einige zeit probiert, evtl. kann mir da jemand helfen, weil ist doof, ausgerechnet auf der startseite nicht valide zu sein. danke!
Mit freundlichen Grüßen



Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Zitieren
#6
Ohne zu wissen was du probiert hast und welches Problem auftritt, kann ich leider kaum konkret helfen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#7
anfang:

PHP-Code:
<tr>
 <td class="trow1"><div id="shoutbox_data" style="height: {$mybb->settings[sf_sb_height]}px; overflow:hidden;">{$lang->sf_sb_loading}</div></td>
</
tr>
<
tr>
 <td class="trow1" align="left">EingabeMax42 Zeichen<form onsubmit="ShoutBox.postShout(); jQuery('#shout_data').val(''); return false;" action="index.php"><input type="text" style="font-size:1.2em;" id="shout_data" size="25" maxlength="42"/><input type="submit" name="" value="Los" id="shouting-status" /></form></td>
</
tr>
<
script type="text/javascript">
//<![CDATA
[ShoutBox.refreshInterval = {$mybb->settings[sf_sb_refresh_interval]};
ShoutBox.MaxEntries = {$mybb->settings[sf_sb_shouts_main]};
ShoutBox.lang = ['{$lang->sf_sb_posting}''{$lang->sf_sb_shoutnow}''{$lang->sf_sb_loading}''{$lang->sf_sb_flood_check}'"{$lang->sf_sb_no_perform}"];
{
$extra_js}
jQuery(document).ready(function($) {    ShoutBox.showShouts(); 
$(".sb_smilie").on("click", function() {        
$("#shout_data").focus();
var 
smiley = $(this).attr("alt");        
$("#shout_data").replaceSelectedText(smiley " "); 
$("#shout_data").focus();
    });
});
//]]>
</script

dies in eine js-datei gepackt und in der headerinclude geladen:

PHP-Code:
//<![CDATA[
ShoutBox.refreshInterval = {$mybb->settings[sf_sb_refresh_interval]};
ShoutBox.MaxEntries = {$mybb->settings[sf_sb_shouts_main]};
ShoutBox.lang = ['{$lang->sf_sb_posting}''{$lang->sf_sb_shoutnow}''{$lang->sf_sb_loading}''{$lang->sf_sb_flood_check}'"{$lang->sf_sb_no_perform}"];
{
$extra_js}
jQuery(document).ready(function($) {
    
ShoutBox.showShouts();
    $(
".sb_smilie").on("click", function() {
        $(
"#shout_data").focus();
        var 
smiley = $(this).attr("alt");
        $(
"#shout_data").replaceSelectedText(smiley " ");
        $(
"#shout_data").focus();

    });    
});
//]]> 

soweit funktioniert es auch, aber:

siehe anhang 1

dann shout, eingabe

siehe anhang 2

dann refresh der seite, siehe anhang 1

dann hab ich versucht jquery und die variablen in den verschiedensten variationen in zwei js-dateien zu packen, hab ich nicht hinbekommen.
Mit freundlichen Grüßen



Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Zitieren
#8
Wenn du bei
Code:
//<![CDATA[
zwischen drin einen Zeilenumbruch einfügst, wundert es mich nicht, dass damit der Code nicht mehr funktioniert.

Ob noch mehr Fehler drin sind, kann ich auf den ersten Blick nicht erkennen. Alles in einer Zeile ist auch mühsam zu lesen... Wink
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#9
obiges zur lesbarkeit optimiert.... wie zeilenumbruch?
Mit freundlichen Grüßen



Für etwaige Tipps, Vorschläge oder Anleitungen von mir gebe ich keine Gewähr. Die Durchführung erfolgt auf eigene Gefahr!
Zitieren
#10
Das ergibt doch so überhaupt keinen Sinn!? Jetzt hast du den gleichen Code einmal im Templates und einmal in einer Javascript-Datei (obwohl schon gesagt wurde, dass da PHP-Variablen drin sind und noch dazu mit CDATA).

So kann ich dir beim besten Willen nicht helfen. Sad
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Modifikation an global.php auslagern... CKOne 5 3.227 22.12.2008, 15:28
Letzter Beitrag: StefanT
  "Neue Seite" Den Inhalt auslagern und pflegen? Stronzo 8 3.978 12.12.2008, 00:25
Letzter Beitrag: ows