`
guomingzhang2008
  • 浏览: 161237 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js传参

阅读更多
今天弄了点东西,记录下了。
内容的思路来自于artDialog插件,这个插件的的使用是这样的,你只需要引用它的js文件即可,并要指定皮肤,如xx.js?skin=default,这样你就无需在页面中引入css样式表了。

原理(自我理解):
获取js的参数,是通过document.getElementsByTagName('script')获取页面中名称为script的节点对象数组,然后迭代对象数组,根据数组中对象的src的值,我们就可以判断那个对象是我们想要的,找到了script节点对象,剩下的所有事情都好办了。
对了,对简单的一个问题我居然差点忘记了,那就是如何动态的在js文件中引入js文件和css文件呢,就是通过document.write的方式将其输出即可,下面内容中有用到。

代码片段如下:

jsp内引用
<script type="text/javascript" src="${appPath}/js/test.js?skin=red"></script>


加载验证插件的入口js,test.js
var _thisScript, _path, _skin;

// load path,解析出当前js的访问路径:http://xxxx.../${appPath}/js。
_path = (function (script, i, me) {
    for (i in script) {
        if (script[i].src && script[i].src.indexOf('apsa_validate') !== -1) {
            me = script[i];
        }
    }

    _thisScript = me || script[script.length - 1];
    me = _thisScript.src.replace(/\\/g, '/');
    return me.lastIndexOf('/') < 0 ? '.' : me.substring(0, me.lastIndexOf('/'));
}(document.getElementsByTagName('script')));

// load js,引入验证插件的js文件 。
document.write(' <script language="javascript" src="'+ _path + '/jquery.bvalidator.js' + '" > <\/script>');

// load css,引入验证插件的css文件 。
_skin = _thisScript.src.split('skin=')[1];
if (_skin) {
    var link = document.createElement('link');
    link.rel = 'stylesheet';
    link.href = _path + '/themes/' + _skin + '.css?';
    _thisScript.parentNode.insertBefore(link, _thisScript);
}
分享到:
评论

相关推荐

    javascript 传参中文乱码解决方案

    解决JavaScript传参中文乱码问题的关键在于正确地使用编码函数,并确保前后端编码一致。 ##### 2.1 发送端编码 在客户端发送请求时,可以使用`encodeURIComponent()`或`encodeURI()`对中文参数进行编码。示例代码...

    js传参乱码解决(亲测可行)

    ### js传参乱码解决(亲测可行) 在Web开发中,经常遇到的一个问题是客户端向服务器端传递参数时出现乱码的情况。这个问题主要是由于字符编码不一致所导致的。为了帮助开发者更好地理解如何解决js传参乱码的问题,...

    Android与js之间传参

    在Android应用开发中,与JavaScript交互是常见的需求,特别是在构建混合式移动应用或者需要利用WebView展示网页内容时。本篇文章将深入探讨Android与JavaScript之间的通信机制,如何进行参数传递,以及实现这一功能...

    delphi 2009 创建OCX 与JS传参例子

    本示例是关于如何在Delphi 2009中创建一个OCX控件,并通过JavaScript进行参数传递的教程。 首先,我们需要了解OCX(Open Container eXtension)是微软定义的一种控件标准,它基于OLE(Object Linking and Embedding...

    js直接调用exe传参

    ### js直接调用exe传参 #### 背景与目的 在Web开发过程中,有时候我们需要从HTML页面通过JavaScript(简称JS)来调用本地的应用程序,并传递参数给这些应用程序。这种需求通常出现在需要与本地资源进行交互或者执行...

    通过CSS向JS传参的方法

    一、需要通过CSS传参的背景 CSS中有很多媒体查询的用法,例如设备尺寸判别,是否支持鼠标行为,是否是黑暗模式,是否是省电模式等。 比方说最近经常提到的黑暗模式,深色主题: @media (prefers-color-scheme: dark...

    Flex和JS的相互调用,传参

    标题中的"Flex和JS的相互调用,传参"指的是在Flex应用中调用JavaScript函数,或者在JavaScript中调用Flex组件的方法,并传递参数。这种互操作性是通过Adobe提供的`ExternalInterface`类实现的,它允许Flex和...

    JS传参及动态修改页面布局

    一个关于JS传参及动态修改页面布局的简单小例子。 效果图: HTML: &lt;!DOCTYPE HTML&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=utf-8 /&gt; &lt;title&gt;&lt;/title&gt; &lt;link rel=stylesheet href=...

    c++开发activex控件和js传参,js调用ocx控件接口函数的代码(

    vs2010开发activex(MFC)控件/ie插件(一),测试ocx控件加载 vs2010开发activex(MFC)控件/ie插件(二),js传参数 vs2010开发activex(MFC)控件/ie插件(三),js调用ocx控件的接口函数

    JS 通过传参的方式输出 ab

    在JavaScript(JS)中,通过传参的方式输出"ab"涉及到基本的函数调用和字符串操作。在这篇博客中,我们将深入探讨这个话题,并提供一个简单的示例来演示如何实现这个功能。 首先,理解参数传递在JavaScript中的工作...

    Android原生java语句 和html js互相调用 传递参数

    Java端创建一个对象并暴露给JavaScript,JavaScript端通过`window对象`调用这些方法。同时,Android也可以通过`loadUrl`执行JavaScript代码。这种交互方式极大地扩展了`WebView`的功能,使得混合开发变得更加灵活。...

    JavaScript页面传参

    JavaScript页面传参是Web开发中的常见操作,它涉及到在网页之间或者在同一页面的不同部分之间传递信息。这在构建动态交互的Web应用时尤其重要。在本文中,我们将深入探讨JavaScript如何实现页面参数传递,以及与复选...

    mustache.js v2.2.1强大的Javascript模板引擎

    mustache.js是一个简单强大的Javascript模板引擎,使用它可以简化在js代码中的html编写,压缩后只有9KB,非常值得在项目中使用。 本资源包含了mustache.js 、mustache.min.js包 版本号v2.2.1

    videojs.zip

    《videojs.zip——深入探索m3u8播放与JavaScript插件技术》 视频播放是现代网页应用中的核心功能之一,而m3u8格式作为HLS(HTTP Live Streaming)流媒体协议的一部分,广泛用于在线视频的分段传输,特别是在移动...

    关于润乾报表超链接调用js文件实现可交互

    本文将深入探讨如何利用润乾报表的超链接功能调用JavaScript(js)文件来实现更丰富的可交互性,让报表不仅仅是数据的静态展示,而是转变为一个能够与用户进行深度交互的平台。 首先,我们了解超链接在润乾报表中的...

    js绑定事件,并动态传参

    js绑定事件,并动态传参,比如绑定click事件。js绑定事件,并动态传参,比如绑定click事件。 js绑定事件,并动态传参,比如绑定click事件

    如何给javascript js事件传递参数.zip_jsp js

    如何给javascript js事件传递参数.zip

    JavaScript和ASP.NET的传值

    在Web开发中,JavaScript与ASP.NET的交互是至关重要的,特别是在动态操作页面和传递数据时...同时,随着前端框架的不断发展,如jQuery、Vue.js、React等,这些基础概念仍然不可或缺,因为它们构成了现代Web开发的基础。

    FineReport中如何用JavaScript解决控件值刷新不及时的问题

    为解决这一问题,可以通过JavaScript脚本来干预FineReport控件的值刷新机制,以实现更加及时的数据读取。在JavaScript中,可以使用FineReport提供的API接口来实现这一需求。具体来说,可以通过编写一段JavaScript...

Global site tag (gtag.js) - Google Analytics