更新 2023.12.11 krpano 1.21.2
js( JavascriptFunction(parameters) )
调用Javascript函数。
在调用JavaScript代码之前,parameters由krpano进行解析。在参数中使用get(var)或calc(expression)解析krpano变量。
HTML或js文件中的代码:
function test(p1, p2, p3)
{
alert(p1 + “: ” + p2 + ” / ” + p3);
}
{
alert(p1 + “: ” + p2 + ” / ” + p3);
}
XML文件中的代码:
js( test(‘Lookat’, get(view.hlookat), get(view.vlookat)) );
直接调用任意类型Javascript代码。
在Javascript代码中,下面这些接口对象可供双向通讯使用。
- krpano
- krpano接口对象(允许javascript直接访问整个krpano结构和其中的所有函数)。
- caller – 调用了该动作的<layer>, <plugin> 或 <hotspot>元素对象。
更改某个html元素的样式:
jscall(‘document.getElementById(“test”).style.display=”none”;’);
使用calc()动作构建Javascript调用,并传递krpano变量:
jscall(calc(‘console.log(“krpano version: ‘ + version + ‘”)’));
后退到上一个网页:
jscall(‘history.back()’);
获取Javascript变量的数值或返回某个Javascript函数的数值。
在Javascript代码中,下面这些接口对象可供双向通讯使用。
- krpano
- krpano接口对象(允许javascript直接访问整个krpano结构和其中的所有函数)。
- caller – 调用了该动作的<layer>, <plugin> 或 <hotspot>元素对象。
参数:
- variable
- 返回值所存储的krpano变量的名字。
- 变量不存在则创建一个。
获取当前网页的地址。
jsget(ret, ‘location.href’);
trace(‘location=’, get(ret));
trace(‘location=’, get(ret));
让用户输入密码:
jsget(passwort, ‘prompt(“Enter Password”)’);
if(password == ‘hidden’, …);
if(password == ‘hidden’, …);
获取当前日期,格式为YYYY-MM-DD:
jsget(date, ‘new Date().toISOString().slice(0,10);’);
trace(‘date=’, get(date));
trace(‘date=’, get(date));
直接从事件(或变量中定义的代码)调用任何类型的Javascript代码。
当被调用的动作代码字符串以js:开头时:它将被视为Javascript代码。
在 Javascript 代码中,这些对象可用于双向通信:
- krpano
- krpano接口对象(允许javascript直接访问整个krpano结构和其中的所有函数)。
- caller – 调用了该动作的<layer>, <plugin> 或 <hotspot>元素对象。
onclick=”js:alert(caller.path);”
onclick=”js:krpano.actions.lookto(0,0);”
Javascript API:
给krpano事件添加或移除Javascript监听器/回调函数。
参数:
- eventname
- krpano事件的name,例如onclick事件就是“onclick”
- callback
- 对指定事件调用的JavaScript函数。
- 某些事件(例如鼠标或者键盘事件)会提供事件对象作为参数。
- once (可选)
- 当设置为“once”时,只调用回调函数一次,然后自动删除事件侦听器。
下一页为 1.20文档
页面: 1 2