Beiträge: 1.734
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
20.04.2015, 18:09
(Dieser Beitrag wurde zuletzt bearbeitet: 20.04.2015, 18:10 von hkkp.)
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!
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Der Teil mit den PHP-Variablen wird sich kaum auslagern lassen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.734
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
20.04.2015, 19:16
(Dieser Beitrag wurde zuletzt bearbeitet: 20.04.2015, 19:30 von hkkp.)
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!
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Du kannst Javascript in einen HTML-Kommentar packen:
http://stackoverflow.com/questions/15138...80#1513880
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.734
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
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!
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Ohne zu wissen was du probiert hast und welches Problem auftritt, kann ich leider kaum konkret helfen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.734
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
21.04.2015, 14:14
(Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2015, 14:24 von hkkp.)
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">Eingabe: Max. 42 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!
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
21.04.2015, 14:19
(Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2015, 14:19 von StefanT.)
Wenn du bei
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...
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 1.734
Themen: 232
Registriert seit: 12.02.2014
MyBB-Version: 1.8.x
21.04.2015, 14:24
(Dieser Beitrag wurde zuletzt bearbeitet: 21.04.2015, 14:27 von hkkp.)
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!
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
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.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.