/ / Wie setze ich ein Jquery-Cookie, um zu verhindern, Popups pro Benutzer zu wiederholen - jquery, ruby-on-rails, ruby-on-rails-3, Cookies, ruby-on-rails-4

Wie setze ich ein Jquery-Cookie, um Popups pro Benutzer nicht mehr zu wiederholen - jquery, ruby-on-rails, ruby-on-rails-3, Cookies, ruby-on-rails-4

Also, wenn du zu mir gehst Staging-Server Sie sehen ein Mini-Tutorial, das ich hinzugefügt habe dieses Werkzeug.

Wenn Sie jedoch auf die Anmeldung oder eine andere Seite klicken, wird das Tutorial immer wieder angezeigt. Wie kann ich einen Cookie erstellen, so dass er nur einmal pro Benutzer angezeigt wird?

Ich habe es versucht Jquery Cookieaber, könnte nicht herausfinden, wie es funktioniert.

Das habe ich gemacht:

1. Copied jquery.cookie.js into assets/javascript/jquery.cookie.js
2. Created a new file called cookie.js
3. Added this arbitrary code: $.cookie(guider, true);

Nun, ich weiß nicht genau, welchen Code ich in cookie.js eingeben muss, um einen Cookie für das guiders.js-Tool hinzuzufügen, damit die Guiders nur einmal angezeigt werden.

Wie können wir das so machen, wie es soll? Nur einmal pro Benutzer anzeigen.

Guiders.js Code:

guiders.createGuider({
buttons: [{ name: "Next" }]
, description: "Follow this short 7 tip tutorial and learn how to get the most out of Leap. It will only take a few minutes :)"
, id: "first"
, next: "second"
, overlay: true
, title: "Welcome to LeapFM! Mini Tutorial:"
}).show();

guiders.createGuider({
attachTo: ".title"
, buttons: [{name: "Close"}, {name: "Next"}]
, description: "The number of leaps a song gets determines how high it will rank on the charts. A song with more leaps will rank higher than a song with less leaps."
, id: "second"
, next: "third"
, position: 7
, title: "Tip 1. Ranking system:"
});

guiders.createGuider({
attachTo: ".arrow"
, buttons: [{name: "Close"}, {name: "Next"}]
, description: "To add a leap to a song simply hit the up arrow. You must be logged in to add 1 leap. Users can only add 1 leap per song."
, id: "third"
, next: "fourth"
, position: 2
, title: "Tip 2. Adding leaps:"
});

guiders.createGuider({
attachTo: ".title"
, buttons: [{name: "Close"}, {name: "Next"}]
, description: "You can view the songs genres within the parentheses"
, id: "fourth"
, next: "fifth"
, position: 6
, title: "Tip 3. Genres:"
});


guiders.createGuider({
attachTo: ".song"
, buttons: [{name: "Close"}, {name: "Next"}]
, description: "By clicking the song title you can listen to the song, comment on it and share it with the social media buttons. But dont"t do it yet, lets finish the tutorial first!"
, id: "fifth"
, next: "sixth"
, position: 7
, title: "Tip 4. Listening to songs:"
});

guiders.createGuider({
attachTo: "#query"
, buttons: [{name: "Close"}, {name: "Next"}]
, description: "You can search songs by genre, title or artist."
, id: "sixth"
, next: "seventh"
, position: 5
, title: "Tip 5. Search:"
});

guiders.createGuider({
attachTo: ".left"
, buttons: [{name: "Close"}, {name: "Next"}]
, description: "You must be logged in to submit a song. LeapFM only accepts YouTube urls so your song must first be on YouTube."
, id: "seventh"
, next: "eigth"
, position: 7
, title: "Tip 6. Submit a song:"
});

guiders.createGuider({
attachTo: ".newsongs"
, buttons: [{name: "Close"}, {name: "Next"}]
, description: "By clicking "New songs" you will be able to view the songs from upload date (newest to oldest). Where as the default page displays songs by leap/rank."
, id: "eigth"
, next: "ninth"
, position: 7
, title: "Tip 7. Newest to oldest:"
});

guiders.createGuider({
attachTo: ".signup"
, buttons: [{name: "Close"}]
, description: "Sign up and start participating :)"
, id: "ninth"
, next: "tenth"
, position: 5
, title: "Call to action!"
});

Antworten:

0 für die Antwort № 1

Lokaler Speicher ist dein Freund, und für nicht unterstützende Browser kannst du den Polyfill verwenden MDN :

if ( ! localStorage.getItem("visited") ) {
localStorage.setItem("visited", true);
runMyTutorial();
}