基于URL参数自动加载多语言图片的方法、系统、介质及设备与流程

文档序号:36997774发布日期:2024-02-09 12:40阅读:24来源:国知局
基于URL参数自动加载多语言图片的方法、系统、介质及设备与流程

本发明涉及js脚本,具体地,涉及一种基于url参数自动加载多语言图片的方法、系统、介质及设备。


背景技术:

1、cpt考试系统之一的concerto系统基于开源软件搭建,concerto系统目前仅支持网页内的文字可根据url参数自动加载对应的语言,而网页内的图片则不支持。为解决此问题,我们自行开发了js脚本,使concerto系统现在可以根据url参数中的语言属性自动加载对应语言的图片。

2、作为中文考试系统,采用url之外的方式(例如用户手机的地理定位、语言设置等)来识别用户本地语言是不合理的,原因是我们所使用的concerto开源系统为web系统,web系统均通过浏览器进行访问,并非移动端app,虽然web浏览器也支持通过网络所在地获取地理位置,但是该方式不适合用于国际学校的考试系统,因为cpt中文考试系统是统一安排的集中在学校机房进行的考试,因此网络均为相同的环境,通过网络获取的地理位置均为相同位置,但相同位置并不表示用户均使用相同的语言,因此最好的方式是在开始考试前,请学生用户自行选择对应的语言,选择语言后,会将语言参数加载到后续的考试页面中,后续的考试页面均会根据语言参数显示对应的语言文字和语言图片。

3、专利文献cn102982127a(申请号:cn201210458522.7)公开了一种批量替换字符串实现多国语言版本的方法及批量处理装置,包括:(1)依次对每个html页面的字符串采用标签结合字符串id的方式进行分隔,并在对应的js文件定义字符串id对应的原始字符串后作为源js文件;(2)批量提取出各js文件中所有id及对应的字符串,保存至excel文档;(3)将excel文档中的字符串翻译成目标语言,得到新的excel文档;(4)将新的excel文档中的字符串写回对应源js文件,得到目标js文件;(5)用目标js文件替换对应的源js文件。然而该专利与本发明采用的技术手段不同,应用的场景不同,解决的技术问题也不同。


技术实现思路

1、针对现有技术中的缺陷,本发明的目的是提供一种基于url参数自动加载多语言图片的方法、系统、介质及设备。

2、根据本发明提供的基于url参数自动加载多语言图片的方法,包括:

3、步骤1:创建js脚本;

4、步骤2:将js脚本上传至concerto考试系统的文件目录;

5、步骤3:在concerto页面中加载js脚本,进行试题编辑,若试题不需要多语言图片,则不采取行动;否则在插入图片时,在该图片的img标签内增加name属性,在后续的考试页面中,通过js脚本在页面中查找含有该name属性的img标签,将该img标签的图片更换为目标语言的图片;

6、步骤4:将含有多语言的图片上传至concerto考试系统的文件目录,并按格式进行命名;

7、步骤5:对concerto考试系统中的试题进行测试,若在需要出现多语言时加载到多语言的图片,则判定测试成功。

8、优选的,所述步骤1包括:

9、步骤1.1:创建一个用于获取url中所有参数并移除参数中的特殊字符,仅保留有意义参数的函数;

10、步骤1.2:调用$(document).ready()函数,获取页面基本元素;

11、步骤1.3:调用步骤1.1创建的函数,获取lang=xxx的url参数值;

12、步骤1.4:获取页面内名为multi-lang-img标签的所有元素;

13、步骤1.5:如果lang=xxx的url参数存在并且不为空,同时页面内名为multi-lang-img的元素数量不少于0,则执行如下逻辑:

14、i.使用for循环遍历页面内的名为multi-lang-img的元素;

15、ii.对该元素的值进行处理,从其右侧开始查找该元素文件扩展名的位置;

16、iii.通过查找到的该元素文件扩展名的位置对元素值进行拆分并重新拼接,具体方式为:在这个位置后面追加_字符,以及一个含有语言标记的字符,然后重新拼接为新的元素值;

17、iv.将拼接完成后的新元素值传递给页面进行重载。

18、优选的,在发布试题时,如果该图片中含有文字,并需要展示多语言,则为该图片打上一个multi-lang-img的标签,表明该图片有多语言版本,根据url参数加载对应语言的图片。

19、优选的,在定位到需要加载多语言的图片标签后,替换当前图片地址为对应语言图片的地址,并且检查页面中是否存在多个含有multi-lang-img标签的图片,如果存在多个,则在页面基本元素获取到之后立即对每个图片进行重载,直到数量为0,确保页面中所有需要加载多语言的图片都重载到,其中使用$(document).ready()方法处理重载,避免当用户看到图片后再重载图片。

20、根据本发明提供的基于url参数自动加载多语言图片的系统,包括:

21、模块m1:创建js脚本;

22、模块m2:将js脚本上传至concerto考试系统的文件目录;

23、模块m3:在concerto页面中加载js脚本,进行试题编辑,若试题不需要多语言图片,则不采取行动;否则在插入图片时,在该图片的img标签内增加name属性,在后续的考试页面中,通过js脚本在页面中查找含有该name属性的img标签,将该img标签的图片更换为目标语言的图片;

24、模块m4:将含有多语言的图片上传至concerto考试系统的文件目录,并按格式进行命名;

25、模块m5:对concerto考试系统中的试题进行测试,若在需要出现多语言时加载到多语言的图片,则判定测试成功。

26、优选的,所述模块m1包括:

27、模块m1.1:创建一个用于获取url中所有参数并移除参数中的特殊字符,仅保留有意义参数的函数;

28、模块m1.2:调用$(document).ready()函数,获取页面基本元素;

29、模块m1.3:调用模块m1.1创建的函数,获取lang=xxx的url参数值;

30、模块m1.4:获取页面内名为multi-lang-img标签的所有元素;

31、模块m1.5:如果lang=xxx的url参数存在并且不为空,同时页面内名为multi-lang-img的元素数量不少于0,则执行如下逻辑:

32、i.使用for循环遍历页面内的名为multi-lang-img的元素;

33、ii.对该元素的值进行处理,从其右侧开始查找该元素文件扩展名的位置;

34、iii.通过查找到的该元素文件扩展名的位置对元素值进行拆分并重新拼接,具体方式为:在这个位置后面追加字符,以及一个含有语言标记的字符,然后重新拼接为新的iv.将拼接完成后的新元素值传递给页面进行重载。

35、优选的,在发布试题时,如果该图片中含有文字,并需要展示多语言,则为该图片打上一个multi-lang-img的标签,表明该图片有多语言版本,根据url参数加载对应语言的图片。

36、优选的,在定位到需要加载多语言的图片标签后,替换当前图片地址为对应语言图片的地址,并且检查页面中是否存在多个含有multi-lang-img标签的图片,如果存在多个,则在页面基本元素获取到之后立即对每个图片进行重载,直到数量为0,确保页面中所有需要加载多语言的图片都重载到,其中使用$(document).ready()方法处理重载,避免当用户看到图片后再重载图片。

37、根据本发明提供的存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述的基于url参数自动加载多语言图片的方法的步骤。

38、根据本发明提供的电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现所述的基于url参数自动加载多语言图片的方法的步骤。

39、与现有技术相比,本发明具有如下的有益效果:

40、本发明通过自行开发js脚本,解决了concerto系统本身不支持加载多语言图片的功能问题,为开展多语言考试提供了可能性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1