外部 / Javascript接口action说明文档

更新 2022.3.7 krpano 1.20.11


js( JavascriptFunction(parameters) )

调用Javascript函数。

在调用JavaScript代码之前,parameters由krpano进行分析。在参数中使用get(var)解析krpano变量。

ico-example 示例

HTML或js文件中的代码:

function test(p1, p2, p3)
{
alert(p1 + “: ” + p2 + ” / ” + p3);
}

XML文件中的代码:

js( test(‘Lookat’, get(view.hlookat), get(view.vlookat)) );

jscall( …任意 Javascript 代码… )

直接调用任意类型Javascript代码。

在Javascript代码中,下面这些接口对象可供双向通讯使用。

  • krpano
  • caller – 调用了该动作的<layer>, <plugin> 或 <hotspot>元素对象。(仅在HTML5下有用)
ico-example 示例

更改某个html元素的样式:

jscall(‘document.getElementById(“test”).style.display=”none”;’);

使用calc()动作构建Javascript调用,并传递krpano变量:

jscall(calc(‘console.log(“krpano version: ‘ + version + ‘”)’));

后退到上一个网页:

jscall(‘history.back()’);

jsget(variable, …Javascript 代码… )

获取Javascript变量的数值或返回某个Javascript函数的数值。

在Javascript代码中,下面这些接口对象可供双向通讯使用。

  • krpano
  • caller – 调用了该动作的<layer>, <plugin> 或 <hotspot>元素对象。(仅在HTML5下有用)


参数:

  • variable
    • 返回值所存储的krpano变量的名字。
    • 变量不存在则创建一个。
ico-example 示例

获取当前网页的地址。

jsget(ret, ‘location.href’);
trace(‘location=’, get(ret));

让用户输入密码:

jsget(passwort, ‘prompt(“Enter Password”)’);
if(password == ‘hidden’, …);

获取当前日期,格式为YYYY-MM-DD:

jsget(date, ‘new Date().toISOString().slice(0,10);’);
trace(‘date=’, get(date));

发表评论