J'ai besoin d'intimité. Non pas parce que mes actions sont douteuses, mais parce que votre jugement et vos intentions le sont.
5186 links
Coudification via plein de monde.
The simplest thing to do in the absence of a framework that does all the cross-browser compatibility for you is to just put a call to your code at the end of the body. This is faster to execute than an onload handler because this waits only for the DOM to be ready, not for all images to load. And, this works in every browser.
<html>
<head>
</head>
<body>
Your HTML here
<script>
// self executing function here
(function() {
// your page initialization code here
// the DOM will be available here
})();
</script>
</body>
</html>
If you really don't want to do it this way and you need cross browser compatibility and you don't want to wait for window.onload, then you probably should go look at how a framework like jQuery implements it's $(document).ready() method. It's fairly involved depending upon the capabilities of the browser.
To give you a little idea what jQuery does (which will work wherever the script tag is placed), if supported, it tries the standard:
document.addEventListener('DOMContentLoaded', fn, false);
with a fallback to:
window.addEventListener('load', fn, false )
or for older versions of IE, it uses:
document.attachEvent("onreadystatechange", fn);
with a fallback to:
window.attachEvent("onload", fn);
And, there are some work-arounds in the IE code path that I don't quite follow, but it looks like it has something to do with frames.
Here is a full substitute for jQuery's .ready() written in plain javascript:
(function(funcName, baseObj) {
// The public function name defaults to window.docReady
// but you can pass in your own object and own function name and those will be used
// if you want to put them in a different namespace
funcName = funcName || "docReady";
baseObj = baseObj || window;
var readyList = [];
var readyFired = false;
var readyEventHandlersInstalled = false;
// call this when the document is ready
// this function protects itself against being called more than once
function ready() {
if (!readyFired) {
// this must be set to true before we start calling callbacks
readyFired = true;
for (var i = 0; i < readyList.length; i++) {
// if a callback here happens to add new ready handlers,
// the docReady() function will see that it already fired
// and will schedule the callback to run right after
// this event loop finishes so all handlers will still execute
// in order and no new ones will be added to the readyList
// while we are processing the list
readyList[i].fn.call(window, readyList[i].ctx);
}
// allow any closures held by these functions to free
readyList = [];
}
}
function readyStateChange() {
if ( document.readyState === "complete" ) {
ready();
}
}
// This is the one public interface
// docReady(fn, context);
// the context argument is optional - if present, it will be passed
// as an argument to the callback
baseObj[funcName] = function(callback, context) {
// if ready has already fired, then just schedule the callback
// to fire asynchronously, but right away
if (readyFired) {
setTimeout(function() {callback(context);}, 1);
return;
} else {
// add the function and context to the list
readyList.push({fn: callback, ctx: context});
}
// if document already ready to go, schedule the ready function to run
if (document.readyState === "complete") {
setTimeout(ready, 1);
} else if (!readyEventHandlersInstalled) {
// otherwise if we don't have event handlers installed, install them
if (document.addEventListener) {
// first choice is DOMContentLoaded event
document.addEventListener("DOMContentLoaded", ready, false);
// backup is window load event
window.addEventListener("load", ready, false);
} else {
// must be IE
document.attachEvent("onreadystatechange", readyStateChange);
window.attachEvent("onload", ready);
}
readyEventHandlersInstalled = true;
}
}
})("docReady", window);
The latest version of the code is shared publicly on GitHub at https://github.com/jfriend00/docReady
Usage:
// pass a function reference
docReady(fn);
// use an anonymous function
docReady(function() {
// code here
});
// pass a function reference and a context
// the context will be passed to the function as the first argument
docReady(fn, context);
// use an anonymous function with a context
docReady(function(context) {
// code here that can use the context argument that was passed to docReady
}, ctx);
This has been tested in:
IE6 and up
Firefox 3.6 and up
Chrome 14 and up
Safari 5.1 and up
Opera 11.6 and up
Multiple iOS devices
Multiple Android devices
Working implementation and test bed: http://jsfiddle.net/jfriend00/YfD3C/
Here's a summary of how it works:
1. Create an IIFE (immediately invoked function expression) to we can have non-public state variables.
2. Declare a public function {s{i docReady(fn, context)i}s}
3. When {s{i docReady(fn, context)i}s} is called, check if the ready handler has already fired. If so, just schedule the newly added callback to fire right after this thread of JS finishes with {s{i setTimeout(fn, 1).i}s}
4. If the ready handler has not already fired, then add this new callback to the list of callbacks to be called later.
5. Check if the document is already ready. If so, execute all ready handlers.
6. If we haven't installed event listeners yet to know when the document becomes ready, then install them now.
7. If {s{i document.addEventListener i}s} exists, then install event handlers using .addEventListener()i}s} for both {s{i "DOMContentLoaded" i}s} and {s{i "load" i}s} events. The {s{i "load" i}s} is a backup event for safety and should not be needed.
8. If {s{i document.addEventListener i}s} doesn't exist, then install event handlers using {s{i .attachEvent() i}s} for {s{i "onreadystatechange" i}s} and {s{i "onload" i}s} events.
9. In the {s{i onreadystatechange i}s} event, check to see if the {s{i document.readyState === "complete" i}s} and if so, call a function to fire all the ready handlers.
10. In all the other event handlers, call a function to fire all the ready handlers.
11. In the function to call all the ready handlers, check a state variable to see if we've already fired. If we have, do nothing. If we haven't yet been called, then loop through the array of ready functions and call each one in the order they were added. Set a flag to indicate these have all been called so they are never executed more than once.
12. Clear the function array so any closures they might be using can be freed.
Handlers registered with {s{i docReady() i}s} are guaranteed to be fired in the order they were registered.
If you call {s{i docReady(fn)i}s} after the document is already ready, the callback will be scheduled to execute as soon as the current thread of execution completes using setTimeout(fn, 1) i}s}. This allows the calling code to always assume they are async callbacks that will be called later, even if later is as soon as the current thread of JS finishes and it preserves calling order.
Le problème est que l'on a sorti l'outil médical des mains des médecins (fin des années 70) au profil d'administratifs qui ne jurent que par chiffre d'affaire et profit, ce qui est incompatible avec une mission de service public comme celle de l'hôpital public.
Le but sous jacent est de tout faire pour mettre le système en "faillite" afin que les groupes privées (assurances, mutuelles) prennent le relai façon USA. Vous pouvez payer : on vous soigne. Vous pouvez pas, vous crevez..
Et au passage, phagocyter le marché soit disant déficitaire.
Pour prendre la défense de Timo, oui les femmes ont moins de difficultés, physiologiquement parlant, que les hommes pour faire le grand écart. Cela vient de la forme du bassin qui est différente entre l'un et l'autre.
Chez l'homme, le bassin est étroit et l'angle diaphysaire du fémur est plus petit que chez la femme (Angle diaphyse / verticale : 7° chez l’homme, 9° chez la femme. : http://www.anatomie-humaine.com/Femur.html). Initialement, ceci facilite l'accouchement mais on a détourner ça pour le sport.
Idem, la souplesse ligamentaire est plus importante chez la femme que chez l'homme. Je n'ai pas de lien sous la main mais tout livre d'anatomie de PCEM te le dira.
Pour ce qui est des tests de "dépistage", cela fait suite surement à "l'affaire" qui avait eu lieu en 1966 dans le milieu du ski où un homme, génétiquement, présentant une intersexuation, avait remporté la médaille d'or à la place de Mariane Goitschel. (https://fr.wikipedia.org/wiki/Erik_Schinegger).
À un moment, il faut arrêter de sodomiser les mouches. Sinon la ligue de défense des animaux va finir par s'en mêler.
Si jamais vous voulez faire une bonne action, amis shaarlieurs lachez-vous.
Si on donne tous 1€, ça peut lui rendre un sacré service.
{i"comportements d’achat auprès du marché de la formation"i} : c'est moi ou il y a un truc qui cloche dans cette phrase ?
Et toute une série de tutoriels sur inkscape.
Merci Jcfrog.
/* untuk pemakaian di blog/website anda, yang di copy hanya css di bawah ini*/
/* style untuk link popup */
a.popup-link {
padding:17px 0;
text-align: center;
margin:7% auto;
position: relative;
width: 300px;
color: #fff;
text-decoration: none;
background-color: #FFBA00;
border-radius: 3px;
box-shadow: 0 5px 0px 0px #eea900;
display: block;
}
a.popup-link:hover {
background-color: #ff9900;
box-shadow: 0 3px 0px 0px #eea900;
-webkit-transition:all 1s;
-moz-transition:all 1s;
transition:all 1s;
}
/* end link popup*/
/*style untuk popup */
#popup {
visibility: hidden;
opacity: 0;
margin-top: -200px;
}
#popup:target {
visibility:visible;
opacity: 1;
background-color: rgba(0,0,0,0.8);
position: fixed;
top:0;
left:0;
right:0;
bottom:0;
margin:0;
z-index: 99999999999;
-webkit-transition:all 1s;
-moz-transition:all 1s;
transition:all 1s;
}
@media (min-width: 768px){
.popup-container {
width:600px;
}
}
@media (max-width: 767px){
.popup-container {
width:100%;
}
}
.popup-container {
position: relative;
margin:7% auto;
padding:30px 50px;
background-color: #fafafa;
color:#333;
border-radius: 3px;
}
a.popup-close {
position: absolute;
top:3px;
right:3px;
background-color: #333;
padding:7px 10px;
font-size: 20px;
text-decoration: none;
line-height: 1;
color:#fff;
}
/* style untuk isi popup */
.popup-form {
margin:10px auto;
}
.popup-form h2 {
margin-bottom: 5px;
font-size: 37px;
text-transform: uppercase;
}
.popup-form .input-group {
margin:10px auto;
}
.popup-form .input-group input {
padding:17px;
text-align: center;
margin-bottom: 10px;
border-radius:3px;
font-size: 16px;
display: block;
width: 100%;
}
.popup-form .input-group input:focus {
outline-color:#FB8833;
}
.popup-form .input-group input[type="email"] {
border:0px;
position: relative;
}
.popup-form .input-group input[type="submit"] {
background-color: #FB8833;
color: #fff;
border: 0;
cursor: pointer;
}
.popup-form .input-group input[type="submit"]:focus {
box-shadow: inset 0 3px 7px 3px #ea7722;
}
<a href="#popup" class="popup-link">Klik untuk memunculkan Popup</a>
<div class="popup-wrapper" id="popup">
<div class="popup-container">
<form action="<a href="http://www.syakirurohman.net/2015/01/tutorial-membuat-popup-tanpa-javascript-jquery#"">http://www.syakirurohman.net/2015/01/tutorial-membuat-popup-tanpa-javascript-jquery#"</a>; method="post" class="popup-form">
<h2>Ikuti Update !!</h2>
<p>Daripada hanya melihat demo untuk popup-nya saja, lebih baik masukkan juga email anda agar mendapatkan pemberitahuan saat ada update posting menarik lain seperti ini.<br/>
<strong>Percayalah, saya hanya akan mengirim sesuatu yang bermanfaat untuk anda :)</strong></p>
<div class="input-group">
<p><input type="email" name="email" placeholder="Email Address"></p>
<p>
<input type="hidden" name="action" value="subscribe">
<input type="hidden" name="source" value="<a href="http://www.syakirurohman.net/2015/01/tutorial-membuat-popup-tanpa-javascript-jquery">">http://www.syakirurohman.net/2015/01/tutorial-membuat-popup-tanpa-javascript-jquery"></a>;
<input type="hidden" name="sub-type" value="widget">
<input type="hidden" name="redirect_fragment" value="blog_subscription-2">
<input type="hidden" id="_wpnonce" name="_wpnonce" value="aaf0b68fcd">
<input type="submit" value="Submit" name="jetpack_subscriptions_widget">
</p>
</div>
<a class="popup-close" href="#closed">X</a>
</form>
</div>
</div>Ce que l'article ne dit pas, c'est que c'est déjà actif chez nos constructeurs (option obligatoire) et que, comble de l'ironie, le service est payant après une année après l'achat (et non désactivable).
Et ce n'est pas donné.
C'est ce qui a été imposé à une amie lors de l'achat d'une DS5.
Ah ! Je croyais que c'était un article généraliste sur la jeunesse actuelle...
Ok, je sors.
Et tu n'as pas lu les copies des manip radio...
Pour créer un bookmarklet, tu as deux services en ligne qui fonctionnent bien :
Enjoy
Outil de calcul de rythme vertical de Pascal.
Via Nicolas Hoffmann
Ça résume vraiment bien la situation politique actuelle...
À voir. Me semble assez simple à prendre en main.
Par contre, utilisation de eval pour les plugins.
Que du bon. À lire absolument.
J'ai envoyé un message à ce sujet via le pannel d'admin de shaarli.fr.
Il serait bien de pouvoir choisir l'emplacement de l'image (gauche vs droite).
Perso, je préfère lire le titre en premier (donc image à droite).
Sinon, pour le zoom, c'est cool.