Бьюсь 3й час. Толку нет.
<script src="jquery.min.js"></script>
<script>
var hashTimeout;
function updhash() {
if (hashTimeout) clearTimeout(hashTimeout);
hashTimeout = setTimeout(function() {
hashTimeout = null;
var k = $('#krpanoSWFObject')[0];
window.location.hash="#"+k.get('xml.scene').substr(0, 8)+"="+k.get('view.hlookat')+"="+k.get('view.vlookat')+"="+k.get('view.fov');
}, 100);
}
$(document).ready(function(){
var swf = createswf("tour.swf");
var options = window.location.hash.substr(1).split('=');
if (options.length == 4) {
swf.addVariable("xml.scene", options[0]);
swf.addVariable("view.hlookat", options[1]);
swf.addVariable("view.vlookat", options[2]);
swf.addVariable("view.fov", options[3]);
}
else {
swf.addVariable("xml.scene", "scene_02");
}
swf.embed("pano");
});
</script>
Пояснения:
k.get('xml.scene')
Возвращает текст (типа scene_02)
+k.get('view.hlookat')
Возвращает число
Детектирование обновления урла происходит. Выдает как надо, вида:
http://192.168.0.11:8090/#scene_03=-5.533604381082802=-11.715297049231186=109.66909981523736
Кажется мне, что проблема вот тут:
.substr
Если имена сцен делать исключительно цифровыми, то работает. При вводе (копипастой или руками) подобной хитрой ссылки - переходит именно на закодированный в ней ракурс. Пример: http://ekburg.artstudio-3d.ru/#11=-13.772537447920188=17.211326795589777=0.95...
Если добавить текст, то затык, при переходе по такому урлу - ничего не происходит. Грузится дефолтный вид и все.
Перемещено fallout4all из talks