Ragazzi ho:
codice HTML:
<a href="#!documentation">
<div class="block short green" style="top: 410px; left: 1010px" id="block_8" data-block-id="8" data-ajax-page="YES">
<i class="fi-page icon" data-ajax-page="YES"></i>
<span data-ajax-page="YES">Documentazione</span>
<i class="fi-paperclip anchor" id="anchor_8"></i>
</div>
</a>
<script>
window.addEventListener("mouseup", function(e) {
e = e || window.event;
if (e.preventDefault) {
e.preventDefault();
}
var target = e.target ? e.target : e.srcElement;
var attr = target.getAttribute("data-ajax-page");
if (attr && attr.trim() === "YES") {
var fragment = window.location.hash.substring(2);
console.log(fragment);
$ajax({
url: base_url + "/" + fragment + ".html",
type: "GET",
success: function(get_data, status) {
document.getElementById("page").innerHTML = get_data;
}
});
}
});
</script>
Solo che ovviamente l'hash viene estratta "in ritarto", perchè prima prova ad eseguire il codice e poi assegna l'hash.
Quindi ho pensato a queste soluzioni:
- Utilizzo setTimeout;
- Utilizzo un worker;
- Non utilizzo nessuna delle due e mi affido alla vostra esperienza;