Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
2 participants
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1 • Partagez
Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour.
Il y a peut j'ai installer sur mon forum un code javascript qui permet à chacun de mettre sont propre background.
Ce code est le suivant:
Le code fonctionne très bien, seulement au chargement ou changement de page il ne le garde pas en mémoire.
Egalement ce code html placé dans le message sur la page d'accueil:
Et enfin le suivant placé dans le CSS:
Quelqu'un aurait-il une idée de comment résoudre ce problème ?
Il y a peut j'ai installer sur mon forum un code javascript qui permet à chacun de mettre sont propre background.
Ce code est le suivant:
- Code:
function insert_own_bg(){var a=prompt("Enter image URL ! (eg: http://example.com/image.jpg)","").replace("http:","");""===a||null===a||void 0===a?jQuery.noop():"undefined"!==typeof Storage?(localStorage.removeItem("own_bg_local"),localStorage.setItem("own_bg_local",a),my_setcookie("bg","x",31536E3,0),$(":root,body").css("background",'url("'+localStorage.getItem("own_bg_local")+'") repeat fixed 50% 0 #000')):(my_setcookie("own_bg_url",a,31536E3,0),my_setcookie("bg","x",31536E3,0),$(":root,body").css("background", 'url("'+my_getcookie("own_bg_url")+'") repeat fixed 50% 0 #000'))}
Le code fonctionne très bien, seulement au chargement ou changement de page il ne le garde pas en mémoire.
Egalement ce code html placé dans le message sur la page d'accueil:
- Code:
<a id="backg" name="bg" onclick="insert_own_bg()">
Choisir votre background
</a>
Et enfin le suivant placé dans le CSS:
- Code:
#backg{
position: fixed;
bottom:2%;
left:1%;}
Quelqu'un aurait-il une idée de comment résoudre ce problème ?
Dernière édition par SeLfde4Th7 le Ven 2 Aoû 2013 - 14:50, édité 1 fois
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour,
dans le code que vous mettez il demande l'URL du background, il la mets dans un cookie et la change sur la page. OK
Au chargement de la page, comment il sait qu'il y a un cookie avec une URL de background ? Si la fonction ne s’exécute que après clic sur le lien, c'est normal. Avez-vous essayé de mettre ceci :
Je n'ai pas trouvé le bouton pour changer le BG sur votre page par contre, ce n'est accessible que par les membres ?
Bonne soirée,
dans le code que vous mettez il demande l'URL du background, il la mets dans un cookie et la change sur la page. OK
Au chargement de la page, comment il sait qu'il y a un cookie avec une URL de background ? Si la fonction ne s’exécute que après clic sur le lien, c'est normal. Avez-vous essayé de mettre ceci :
- Code:
$(document).ready(function()
{
$(function ()
{
$('body').css("background", 'url("'+my_getcookie("own_bg_url")+'") repeat fixed 50% 0 #000');
});
});
Je n'ai pas trouvé le bouton pour changer le BG sur votre page par contre, ce n'est accessible que par les membres ?
Bonne soirée,
benneke- ***
- Messages : 150
Inscrit(e) le : 07/04/2012
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
benneke a écrit:Bonjour,
dans le code que vous mettez il demande l'URL du background, il la mets dans un cookie et la change sur la page. OK
Au chargement de la page, comment il sait qu'il y a un cookie avec une URL de background ? Si la fonction ne s’exécute que après clic sur le lien, c'est normal. Avez-vous essayé de mettre ceci :
- Code:
$(document).ready(function()
{
$(function ()
{
$('body').css("background", 'url("'+my_getcookie("own_bg_url")+'") repeat fixed 50% 0 #000');
});
});
Je n'ai pas trouvé le bouton pour changer le BG sur votre page par contre, ce n'est accessible que par les membres ?
Bonne soirée,
Bonsoir et merci de ta réponse .
J'ai enlever le bouton en attendant une correction du bug , je vais tenter de nouveau.
EDIT: le code que vous me donner y est déjà à la fin du JS !!
EDIT2: j'ai tout de m^me essayez mais le problème est toujours le même!
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
J'ai peut-être une autre piste. Quand je vérifie mes cookies de ton forum, je n'ai nulle part l'image que j'ai mis dans l'alert.
J'ai juste un cookie au nom de bg avec comme valeur x.
Pouvez-vous essayer avec ceci :
J'ai juste un cookie au nom de bg avec comme valeur x.
Pouvez-vous essayer avec ceci :
- Code:
function insert_own_bg(){
var a=prompt("Enter image URL ! (eg: http://example.com/image.jpg)","").replace("http:","");""===a||null===a||void 0===a?jQuery.noop():"undefined"!==typeof Storage?(localStorage.removeItem("own_bg_local"),localStorage.setItem("own_bg_local",a),my_setcookie("bg","localStorage.getItem("own_bg_local")",31536E3,0),$(":root,body").css("background",'url("'+localStorage.getItem("own_bg_local")+'") repeat fixed 50% 0 #000')):(my_setcookie("own_bg_url",a,31536E3,0),my_setcookie("bg","localStorage.getItem("own_bg_local")",31536E3,0),$(":root,body").css("background", 'url("'+my_getcookie("own_bg_url")+'") repeat fixed 50% 0 #000'))
}
- Code:
$(document).ready(function()
{
$(function ()
{
$('body').css("background", 'url("'+my_getcookie("bg")+'") repeat fixed 50% 0 #000');
});
});
benneke- ***
- Messages : 150
Inscrit(e) le : 07/04/2012
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour.
Cela ne fonctionne toujours pas :/ .
Cela ne fonctionne toujours pas :/ .
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour,
je vois effectivement que j'ai oublié de modifier certains autres noms de cookie, peut-être du à cela.
Par contre, vous avez complètement changé le forum ? Celui lié à votre compte n'est plus le même (je voulais voir le résultat du cookie avec le code modifié...)
Bonne soirée/nuit,
je vois effectivement que j'ai oublié de modifier certains autres noms de cookie, peut-être du à cela.
- Code:
function insert_own_bg(){
var a=prompt("Enter image URL ! (eg: http://example.com/image.jpg)","").replace("http:","");""===a||null===a||void 0===a?jQuery.noop():"undefined"!==typeof Storage?(localStorage.removeItem("own_bg_local"),localStorage.setItem("own_bg_local",a),my_setcookie("bg","localStorage.getItem("own_bg_local")",31536E3,0),$(":root,body").css("background",'url("'+localStorage.getItem("own_bg_local")+'") repeat fixed 50% 0 #000')):(my_setcookie("own_bg_url",a,31536E3,0),my_setcookie("bg","localStorage.getItem("own_bg_local")",31536E3,0),$(":root,body").css("background", 'url("'+my_getcookie("bg")+'") repeat fixed 50% 0 #000'))
}
Par contre, vous avez complètement changé le forum ? Celui lié à votre compte n'est plus le même (je voulais voir le résultat du cookie avec le code modifié...)
Bonne soirée/nuit,
benneke- ***
- Messages : 150
Inscrit(e) le : 07/04/2012
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Non voici l'adresse du forum:
http://www.frenchgamercommunity.com/forum
Vous pouvez voir que maintenant même le bouton ne fait plus rien :/ .
Merci de votre aide =) .
http://www.frenchgamercommunity.com/forum
Vous pouvez voir que maintenant même le bouton ne fait plus rien :/ .
Merci de votre aide =) .
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Effectivement, je vois qu'il y a une erreur dans le JS. Je n'ai plus le temps de regarder maintenant, je vais regarder cela plus en profondeur demain soir, je dois avouer que je suis clacqué la. Peut-être partir sur une toute autre base (la fonction my_getcookie et my_setcookie ne fonctionnent pas en local chez moi, une extension ou d'autres fonctions déclarées quelque part?)
Bonne nuit !
Bonne nuit !
benneke- ***
- Messages : 150
Inscrit(e) le : 07/04/2012
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour.
Il est sympathique à vous de vous penchez sur mon problème, prenez votre temps et reposez vous =) .
J'ai un problème d'alimentation et ne fait donc qu'un court passage pour vous dire que je serais de retour lundi ou mardi prochain.
Bonne journée, merci .
Il est sympathique à vous de vous penchez sur mon problème, prenez votre temps et reposez vous =) .
J'ai un problème d'alimentation et ne fait donc qu'un court passage pour vous dire que je serais de retour lundi ou mardi prochain.
Bonne journée, merci .
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonsoir,
j'ai finalement réécris le code JS pour le background, celui-ci devrait fonctionner.
le bouton reste le même dans le HTML :
Si tout ceci ne fonctionne pas, c'est que l'extension $.cookie n'est pas installée dans les forumactifs, alors il faut ajouter ce code avant le précédent :
Je viens de le tester en local et cela fonctionnait pas mal du tout... Sauf bien entendu si on mets autre chose qu'une URL d'image, alors le fond est simplement noir ici. Testé sous Firefox, Opera et Safari
Dis moi quoi
++
j'ai finalement réécris le code JS pour le background, celui-ci devrait fonctionner.
- Code:
function insert_own_bg()
{
var a=prompt("Enter image URL ! (eg: http://example.com/image.jpg)","")
if (a != null)
{
a.replace("http:","");
$.cookie('background',a, { expire : 7 });
$(":root,body").css("background",'url("'+$.cookie("background")+'") repeat fixed 50% 0 #000');
}
}
$(document).ready(function()
{
$(function ()
{
if ($.cookie("background")!=null)
{
$('body').css("background", 'url("'+$.cookie("background")+'") repeat fixed 50% 0 #000');
}
});
});
le bouton reste le même dans le HTML :
- Code:
<a id="backg" name="bg" onclick="insert_own_bg()">
Choisir votre background
</a>
Si tout ceci ne fonctionne pas, c'est que l'extension $.cookie n'est pas installée dans les forumactifs, alors il faut ajouter ce code avant le précédent :
- Code:
/*!
* jQuery Cookie Plugin v1.3.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as anonymous module.
define(['jquery'], factory);
} else {
// Browser globals.
factory(jQuery);
}
}(function ($) {
var pluses = /\+/g;
function raw(s) {
return s;
}
function decoded(s) {
return decodeURIComponent(s.replace(pluses, ' '));
}
function converted(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
return config.json ? JSON.parse(s) : s;
} catch(er) {}
}
var config = $.cookie = function (key, value, options) {
// write
if (value !== undefined) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
value = config.json ? JSON.stringify(value) : String(value);
return (document.cookie = [
config.raw ? key : encodeURIComponent(key),
'=',
config.raw ? value : encodeURIComponent(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// read
var decode = config.raw ? raw : decoded;
var cookies = document.cookie.split('; ');
var result = key ? undefined : {};
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = decode(parts.join('='));
if (key && key === name) {
result = converted(cookie);
break;
}
if (!key) {
result[name] = converted(cookie);
}
}
return result;
};
config.defaults = {};
$.removeCookie = function (key, options) {
if ($.cookie(key) !== undefined) {
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return true;
}
return false;
};
}));
Je viens de le tester en local et cela fonctionnait pas mal du tout... Sauf bien entendu si on mets autre chose qu'une URL d'image, alors le fond est simplement noir ici. Testé sous Firefox, Opera et Safari
Dis moi quoi
++
benneke- ***
- Messages : 150
Inscrit(e) le : 07/04/2012
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour.
Ce code ne fonctionne toujours pas :/ .
Ce code ne fonctionne toujours pas :/ .
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour,
Je viens d'essayer le code sur mon forum qui est également en phpbb3 et il fonctionne. J'ai seulement fait mettre le lien en javascript aussi.
voici le code que j'ai inclus sur toutes les pages :
et je dois dire que cela fonctionne assez bien (regarde sur mon profil pour le lien de mon forum, il est actif actuellement)
A bientôt,
Je viens d'essayer le code sur mon forum qui est également en phpbb3 et il fonctionne. J'ai seulement fait mettre le lien en javascript aussi.
voici le code que j'ai inclus sur toutes les pages :
- Code:
/*!
* jQuery Cookie Plugin v1.3.1
* https://github.com/carhartl/jquery-cookie
*
* Copyright 2013 Klaus Hartl
* Released under the MIT license
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
// AMD. Register as anonymous module.
define(['jquery'], factory);
} else {
// Browser globals.
factory(jQuery);
}
}(function ($) {
var pluses = /\+/g;
function raw(s) {
return s;
}
function decoded(s) {
return decodeURIComponent(s.replace(pluses, ' '));
}
function converted(s) {
if (s.indexOf('"') === 0) {
// This is a quoted cookie as according to RFC2068, unescape
s = s.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
}
try {
return config.json ? JSON.parse(s) : s;
} catch(er) {}
}
var config = $.cookie = function (key, value, options) {
// write
if (value !== undefined) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
var days = options.expires, t = options.expires = new Date();
t.setDate(t.getDate() + days);
}
value = config.json ? JSON.stringify(value) : String(value);
return (document.cookie = [
config.raw ? key : encodeURIComponent(key),
'=',
config.raw ? value : encodeURIComponent(value),
options.expires ? '; expires=' + options.expires.toUTCString() : '', // use expires attribute, max-age is not supported by IE
options.path ? '; path=' + options.path : '',
options.domain ? '; domain=' + options.domain : '',
options.secure ? '; secure' : ''
].join(''));
}
// read
var decode = config.raw ? raw : decoded;
var cookies = document.cookie.split('; ');
var result = key ? undefined : {};
for (var i = 0, l = cookies.length; i < l; i++) {
var parts = cookies[i].split('=');
var name = decode(parts.shift());
var cookie = decode(parts.join('='));
if (key && key === name) {
result = converted(cookie);
break;
}
if (!key) {
result[name] = converted(cookie);
}
}
return result;
};
config.defaults = {};
$.removeCookie = function (key, options) {
if ($.cookie(key) !== undefined) {
// Must not alter options, thus extending a fresh object...
$.cookie(key, '', $.extend({}, options, { expires: -1 }));
return true;
}
return false;
};
}));
function insert_own_bg()
{
var a=prompt("Enter image URL ! (eg: http://example.com/image.jpg)","");
if (a != null)
{
a.replace("http:","");
$.cookie('background',a, { expire : 7 });
$(":root,body").css("background",'url("'+$.cookie("background")+'") repeat fixed 50% 0 #000');
}
}
$(document).ready(function()
{
$(function ()
{
var bouton_background = $('<a id="backg" name="bg" onclick="insert_own_bg()">Choisir votre background</a>');
$('#phpbb').append(bouton_background);
if ($.cookie("background")!=null)
{
$('body').css("background", 'url("'+$.cookie("background")+'") repeat fixed 50% 0 #000');
}
});
});
et je dois dire que cela fonctionne assez bien (regarde sur mon profil pour le lien de mon forum, il est actif actuellement)
A bientôt,
benneke- ***
- Messages : 150
Inscrit(e) le : 07/04/2012
Re: Le Background personnalisé ne reste pas en mémoire après un rechargement de la page.
Bonjour benneke .
Cela fonctionne également chez moi.
Je vous dit un grand merci pour vous être penché sur le problème.
Bonne journée =).
Cela fonctionne également chez moi.
Je vous dit un grand merci pour vous être penché sur le problème.
Bonne journée =).
Sujets similaires
» Garder une position en mémoire après changement par javascript
» Disparition du logo et background customisé après maintenance
» Affichage déformé après scroll (problème background)
» probleme rencontrer lors de la Vérification des champs ( en php)
» Ma page d'acceuil empeche le reste du forum d'exister?
» Disparition du logo et background customisé après maintenance
» Affichage déformé après scroll (problème background)
» probleme rencontrer lors de la Vérification des champs ( en php)
» Ma page d'acceuil empeche le reste du forum d'exister?
Forum gratuit : Le forum des forums actifs :: Entraide & Support... :: Problème avec un script, un code :: Archives des problèmes avec un code
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum