首先不是ASP调用,如果是ASP调应该说是使用JS代码写服务器,而不再使用VB/VBS了。在服务器使用JS是这样的:
<script type="text/javascript" runat="server">
</script>
这里中的代码是用JS写的。
而JS如果在在外边的话:
<script type="text/javascript" src="/XXjs" runat="server"></script>这是服务端使用JS。
你可能注意到我只是说使用而不说调用,其实这是服务器两种代码的混写。如果你在开头中有一个指令句的话:
<%@ Language="javascript" codepage="936"%>
则在 〈%%〉内的内容全部是使用了javascript的写法。可以混写,但没有必要吧?一种语言难道不能完成你的请求?
而<script type="text/javascript" src="/Xjs"></javascript>只是客户端的调用!也就是说该内容会发送到客户端的,然后会自动下载JS文件到本地,在本地的浏览器中执行!
而就算是你采用了两种语言混写的ASP代码,很不幸地告诉你,两种语言是不能直接通信的!也就是想在VB中调JS的变量或是函数都是错误的。这就是为什么称ASP不能调用JS。
JS是浏览器的脚本语言,可别忘记另外一个重要内容。VBSCRIPT也可以是浏览器的脚本语言的。而在服务端也是同样。所以别在想ASP调用JS了!
如果是客户端的调用,请检查路径是否正确,是否存在该函数以供调用。如果你的JS中没有这个函数,显然也是调用不成功能的。检查浏览器是否禁用了JS脚本。
当一切检查完成,可能还会犯这样的毛病:
JS文件和格式如果这样写就不会有任何调用的(事实上文件已经调入,便不能调用函数而已)
XXjs
<script language="javascript">
fuction nan(){
}
这里定义了一大堆的函数
</script>
这种写法本身就是错误的,但有很多有就这样写。实际上格式是里边全部是JS语句,不存在任何其他内容的!
java和js交互分为三种情况,分别是:
1 调用网页上的js代码
Android 中可以通过webview来实现和js的交互,在程序中调用js代码,只需要将webview控件的支持js的属性设置为true,,然后通过loadUrl就可以直接进行调用,如下所示:
mWebViewgetSettings()setJavaScriptEnabled(true);mWebViewloadUrl("javascript:test()");
2 网页java代码的方法
在网页中调用java代码,需要在webview控件中添加javascriptInterface。如下所示:
mWebViewaddJavascriptInterface(newObject() {
publicvoid clickOnAndroid() {
mHandlerpost(newRunnable() {
publicvoid run() {
ToastmakeText(Testthis,"测试调用java", ToastLENGTH_LONG)show();
}
});
}
},"demo");
在网页中,只需要像调用js方法一样,进行调用就可以
<div id='b'><a onclick="windowdemoclickOnAndroid()">bc</a></div>
3 Java代码调用js并传参
首先需要带参数的js函数,如functiontest(str),然后只需在调用js时传入参数即可,如下所示:
mWebViewloadUrl("javascript:test('aa')");
4Js中调用java函数并传参
首先一样需要带参数的函数形式,但需注意此处的参数需要final类型,即得到以后不可修改,如果需要修改其中的值,可以先设置中间变量,然后进行修改。如下所示:
mWebViewaddJavascriptInterface(newObject() {
publicvoid clickOnAndroid(final int i) {
mHandlerpost(newRunnable() {
publicvoid run() {
intj = i;
j++;
ToastmakeText(Testthis,"测试调用java" + StringvalueOf(j), ToastLENGTH_LONG)show();
}
});
}
},"demo");
然后在html页面中,利用如下代码<divid='b'><a onclick="windowdemoclickOnAndroid(2)">bc</a></div>,
下面是安卓无忧中js 与安卓相互调用的效果图,可以百度一下安卓无忧,点击源码,看看里面的源码。
在使用C#开发winform程序过程中,经常会碰到嵌入了一个WebBrowser的浏览器控件。很多时候,需要在程序里控制网页的显示方式,或者调用网页当中的某个JS函数,反过来,也有可能网页也需要调用程序当中的函数来实现某些功能。下面讲解下如何互相进行交互。
程序调用JS脚本如下:
<script language=”javascript”>function ShopXG(infor)
{
alert(‘我要开网店、携购独立网店系统,模板最全,最专业的系统!’);
return;
}
</script>
C#代码调用如下:
using SystemSecurityPermissions;
注意: 类定义前需要加上下面两行,否则调用失败!
[PermissionSet(SecurityActionDemand, Name = "FullTrust")]
[SystemRuntimeInteropServicesComVisibleAttribute(true)]
调用的函数:
webBrowser1DocumentInvokeScript("ShopXG ", new string[] {‘ssss’});
JS中调用C#函数示例:
C#函数如下:
public void ShowMessage(string message)
{
MessageBoxShow(“免费开网店,携购独立网店系统诚邀您的加盟!”);
}
JS里的调用方法:
<script language=”Javascript”>
function InvokeFunc()
{
windowexternalShowMessage(‘呵呵’);
}
</script>
1、将这一段代码保存到一个文件中。
2、注意,您可以任何文本工具创建js文件,不过您在保存的时候,需要将名字后缀名为js。
3、这里将js文件保存为indexjs。之后如果我们需要使用indexjs。我们只需要调用即可,不需要再写新的js文件。
4、在html的head部分引入js文件,具体的代码。
5、这个引用是一个双标签,就算没有内容,也得写全。
6、如果您的js是从外面引入,那么您不能在<script></script>中间再写js代码。
7、如果有需要,那么您需要重新声明script标签,在标签内写您的js代码。
8、无论是javascript jquery都是一样的规则,必须在script标签内写代码。引入了js文件后,您可以在需要的地方直接调用即可。
DEMO1代码:
去掉 <script type="text/javascript" charset="GB2312"> </script>
调用的js文件 不需要用这个标签
另外$("button")是不行的 $("input")可以
或者给你的button加个id='button' 然后$('#button')
documentwrite("<iframe src=\"yeshtm\" width=\"500\" height=\"500\" frameborder=0 scrolling=no></iframe>")
因为解释时是根据indexhtm解释,所以用yeshtm直接调用
更简单的方法是写绝对路径
1、js文件中的语言属于javascript,而javascript是运行在网页上,也就是在浏览器端运行的;
2、程序分为cs架构和bs架构。
cs:Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。
bs:Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。
winform程序属于cs架构,无法调用js文件!
以上就是关于asp调用js全部的内容,包括:asp调用js、此页需要AC RunActiveContent.js.怎么解决、winform 中如何引用js和css等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)