StoryLine3变量存储与跳转后台时的使用
前言
公司项目原因,接触到storyline3(后面简称SL)课件制作工具,类似ppt,但是又多了互动、交互,且页面元素可添加触发器,触发器中可执行js代码。
1.官方教程
在SL中,会有“了解详情...”,点击后能到官方的使用教程,仔细阅读,会有你用到的知识。
(例如触发器的教程https://community.articulate.com/series/storyline-3/articles/storyline-3-working-with-triggers
2.如何从我们自己开发的平台跳转到课件
后台页面中,直接用window.open(url),打开课件。在url中,拼接了用户id、课程id,供业务判断使用。
3.在课件中如何接收url参数、SL参数存储、使用
这些在官方教程中没有明确的说明,是自己摸索、加群问人才总结出来的。但大知识点就是SL的触发器和简单的JS代码。
①添加触发器,这个在上面给出的链接中,可以学习怎么添加触发器。也不难,软件基本操作都能找到。不做赘述
②在触发器中添加的代码如下,最终都会出现在你导出的课件文件夹中的Storyline output\story_content\user.js里。

代码如下
console.log(window.location.href);
//1.获取url问号后的参数
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg);
if (r != null)
return unescape(r[2]);
return null;
}
//2.获取url传的参数
var fid = getQueryString("fid");
var projectcoursepeoid = getQueryString("projectcoursepeoid");
console.log("fid :"+fid );
console.log("projectcoursepeoid :"+projectcoursepeoid );
//3.将参数存在StoryLine的参数里
var player = GetPlayer();
player.SetVar("fid",fid);//传递变量
player.SetVar("projectcoursepeoid",projectcoursepeoid);//传递变量
//4.获取参数
var fid_val = player.GetVar("fid");//获取变量
var projectcoursepeoid_val = player.GetVar("projectcoursepeoid");//获取变量
console.log("存值完毕 fid_val:"+fid_val);
console.log("存值完毕 projectcoursepeoid_val:"+projectcoursepeoid_val);
4.将数据传回服务器
直接用window.location.href="请求的地址"+“?param1=”+param1...
类似方法http://www.rabbitoreg.com/2015/07/05/storyline-communication-with-a-web-server/
触发器js代码:
//4.获取参数
var player = GetPlayer();
var fid_val = player.GetVar("fid");//获取变量
var projectcoursepeoid_val = player.GetVar("projectcoursepeoid");//获取变量
console.log("存值完毕 fid_val:"+fid_val);
console.log("存值完毕 projectcoursepeoid_val:"+projectcoursepeoid_val);
var requesturl = "http://localhost:8080/springMVC/peocourse/finishfile.action?fid="+fid_val+"&projectcoursepeoid="+projectcoursepeoid_val;
window.location.href=requesturl;
StoryLine3变量存储与跳转后台时的使用的更多相关文章
- Slickflow.NET 开源工作流引擎高级开发(一) -- 流程外部事件的调用和变量存储实现
前言:流程实现基本流转功能外,通常也需要调用外部事件,用于和业务系统的交互,同时存储一些流程变量,用于追踪和记录业务数据变化对流程流转的影响. 1. 流程事件 流程执行过程中,伴随各种事件的发生,而且 ...
- Java内存分配及变量存储位置实例讲解
Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Java的内存管理与内存泄露以及Java垃圾回收方面的知识,今天我们再次深入Java核心,详细介绍一下Java在内存分配方面的知识.一般 ...
- java+内存分配及变量存储位置的区别[转]
原文来自:http://blog.csdn.net/rj042/article/details/6871030#comments Java内存分配与管理是Java的核心技术之一,之前我们曾介绍过Jav ...
- 局部变量存储区域静态变量存储区域static变量存储区域
局部变量存储区域静态变量存储区域static变量存储区域 常见的存储区域可分为: 1.栈 由编译器在需要的时候分配,在不需要的时候自动清楚的变量的存储区.里面的变量通常是局部变量.函数参数等. 2.堆 ...
- java 中变量存储位置的区别
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字 ...
- python变量存储
变量的存储 在高级语言中,变量是对内存及其地址的抽象. 对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不是这个变量的只 ...
- python 基础之变量存储缓存机制与数据驻留小数据池
一:变量存储的缓存机制 在同一文件(模块)里,变量存储的缓存机制 (仅对python3.x版本负责),那么 --对于Number (int bool float complex) 1.对于整型而言,- ...
- python变量存储和深浅拷贝
python的变量及其存储 在高级语言中,变量是对内存及其地址的抽象.对于python而言,python的一切变量都是对象,变量的存储,采用了引用语义的方式,存储的只是一个变量的值所在的内存地址,而不 ...
- C++变量存储类别和内存四区
变量存储类别 变量声明/定义的一般形式: 存储类别 数据类型 变量名 存储类别指的是数据在内存中存储的方法.存储方法分为静态存储和动态存储两大类.标准C语言为变量.常量和函数定义了4种存储类型:ext ...
随机推荐
- mongodb 配置文件
本文档是在mongodb为3.4下编写的,仅作为参考,详细内容请参考:https://docs.mongodb.com/manual/reference/configuration-options/# ...
- SQL Server 2000详细安装过程及配置
说明:这篇文章是几年前我发布在网易博客当中的原创文章,但由于网易博客现在要停止运营了,所以我就把这篇文章搬了过来,虽然现如今SQL Server 2000软件早已经过时了,但仍然有一部分人在使用它,尤 ...
- HashMap探究
HashMap 前置 //初始化容量 static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; //容器最大容量 static final i ...
- windows系统安装python3.6.3和python3.7.0
一.装备好从官网下载的python软件包(3.6.3和3.7.0) 二.先安装python3.6.3 1.运行python3.6.3文件 2.选择默认 3.下一步,等待安装 4.检查是否安装成功 ,安 ...
- January 16th, 2018 Week 03rd Tuesday
Accept who you are, and revel in it. 接受真实的自己并乐在其中. Try to accept youself and try to love yourself mo ...
- Pandas 库中excel的读写方法介绍
首选:https://blog.csdn.net/u014597198/article/details/83104653 其次:https://blog.csdn.net/qq_34377830/ar ...
- ABAP设计模式——适配器
计算机科学中的大多数问题都可以通过增加一层间接性来解决. ——David Wheeler 适配器模式(Adapter Design Pattern),是一个广泛应用于真实世界和面向对象编程语言的设计 ...
- 回文数的golang实现
判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数 输入: 输出: true 输入: - 输出: false 解释: 从左向右读, 为 - . 从右向左读, 为 - ...
- HTML5原生拖拽事件的值传递(三dataTransfer对象)
引用一篇博客,讲解的比较详细:http://www.tuicool.com/articles/j6Zbam
- python五十四课——datetime模块
3.datetime模块:理解:datetime可以认为是time模块的补充/扩展datetime模块中有一些常用类:datetime类:记录了日期和时间数据信息date类:记录了日期数据信息time ...