history.jsのオプションを適切に初期化するには、スクリプトがページに含まれる前にオプションを設定する必要があります。これは、次のようになります:
<script type="text/javascript" language="javascript">
window.History = { options: { html4Mode: true} };
</script>
<script src="/scripts/jquery.history.min.js" type="text/javascript"></script>
を、それがHTML4フラグが用意DOMに設定する必要条件であるならば、あなたは同じようにdelayInitオプションを使用することができます。ちょうどあなたが準備ができたら、あなたは手動でHistory.init()を呼び出す必要があることに注意してください。
<script type="text/javascript" language="javascript">
window.History = { options: { delayInit: true} };
</script>
<script src="/scripts/jquery.history.min.js" type="text/javascript"></script>
...
<script type="text/javascript" language="javascript">
$(document).ready(function() {
var userInput = true;
//some code gathering user input or something
window.History.options.html4Mode = userInput;
window.History.init();
);
</script>
ソースの: https://github.com/browserstate/history.js/pull/195 https://github.com/browserstate/history.js/issues/303
注:私は成功した最初の例で示した方法を使用しました。私は個人的にテストしていません。
(編集オレックスのおかげで) – smarques