J'ai ce code ici:
<script type="text/javascript">
function goFunction(){
history.pushState("google.ca", "GOOGLE CANADA", "http://www.google.ca");
return event.preventDefault();
}
</script>
et
<a href="#" onclick="javascript:goFunction();">GO</a>
lorsque je clique sur mon lien, j'obtiens cette erreur dans mon journal d'erreurs:
Uncaught SecurityError: A history state object with URL 'http://www.google.ca/' cannot be created in a document with Origin 'http://cowelllaserhair.com'.
vous pouvez le voir sur: http://cowelllaserhair.com/test.html
Qu'est-ce que je fais mal?
Dois-je faire référence à quelque chose?
Merci, J
L'argument URL de pushState
doit être relatif à la page actuelle ou à une URL absolue dans votre propre domaine. Vous ne pouvez pas pousser le domaine interétatique - ce serait une faille de sécurité majeure.
Le documentation MDN dit:
L'URL de la nouvelle entrée d'historique est donnée par ce paramètre. Notez que le navigateur ne tentera pas de charger cette URL après un appel à pushState (), mais il pourrait tenter de charger l'URL plus tard, par exemple après que l'utilisateur a redémarré son navigateur. La nouvelle URL n'a pas besoin d'être absolue; si elle est relative, elle est résolue par rapport à l'URL actuelle. La nouvelle URL doit être de la même origine que l'URL actuelle; sinon, pushState () lèvera une exception. Ce paramètre est facultatif; s'il n'est pas spécifié, il est défini sur l'URL actuelle du document.
Le paramètre URL est généralement laissé vide ou définissez une URL relative sur votre propre site, comme #/hello
.