1. js方法調用
JS函數的定義與調用方法
JS函數調用的四種方法:方法調用模式,函數調用模式,構造器調用模式,apply,call調用模式
1.方法調用模式:
先定義一個對象,然後在對象的屬性中定義方法,通過myobject.property來執行方法,this即指當前的myobject
對象。
var blogInfo={
blogId:123,
blogName:"werwr",
showBlog:function(){alert(this.blogId);}
};
blogInfo.showBlog();
2.函數調用模式
定義一個函數,設置一個變數名保存函數,這時this指向到window對象。
var myfunc = function(a,b){
return a+b;
}
alert(myfunc(3,4));
3.構造器調用模式
定義一個函數對象,在對象中定義屬性,在其原型對象中定義方法。在使用prototype的方法時,必須實例化該對象才能調用其方法。
var myfunc = function(a){
this.a = a;
};
myfunc.prototype = {
show:function(){alert(this.a);}
}
var newfunc = new myfunc("123123123");
newfunc.show();
4.apply,call調用模式
var myobject={};
var sum = function(a,b){
return a+b;
};
var sum2 = sum.call(myobject,10,30); //var sum2 = sum.apply(myobject,[10,30]);
alert(sum2);
2. (C#)winform中實現選擇一個文件夾,將其壓縮復制到另外一個路徑 ///樓主這個問題怎麼解決的呢
using System.Diagnostics;
Process process = new Process();
process.StartInfo.FileName = @"C:\Program Files\WinRAR\Winrar.exe" //這是你安裝Winrar的路徑
process.StartInfo.Argument = @" a -r C:\abc.rar C:\abc\drra"//第一個路徑是壓縮文件將要拷貝到的位置,第二個路徑是你要專壓縮的文屬件夾
process.Start();//這句話之後就開始壓縮了
3. 怎麼從WinForm調用Html的JS方法,並且傳值過去
B頁面把id設置成一樣的,讀取到,傳過去,C頁面 11111那裡改成if(傳過來的值專==概況)屬{ 概況 } else if(傳過來的值==簡介){ 簡介 } 。就這么個思路,你去查查傳值這方面相關資料,我這個傳值也好久沒弄了,你按照這個思路來就行。
4. 單擊鏈接,用JS實現「右鍵-文件另存為」功能
參考例子,如下:
StringserverName=request.getServerName();
StringrealPath=request.getRealPath(serverName);//取得互聯網程序的絕對地址
realPath=realPath.substring(0,realPath.lastIndexOf("\"));
Stringfilepath=realPath+"\downloads\";//創建文件的保存目錄
Stringfilename=request.getAttribute("xlsFileName")+"";
Filefile=null;
FileInputStreamfin=null;
ServletOutputStreamop=null;
try{
file=newFile(filepath+filename);
if(!file.exists()||!file.isFile()){
System.out.println(filename+"isnotexisted");
return;
}
response.reset();
response.setHeader("Content-Type","application/vnd.ms-excel");
response.setHeader("Content-Disposition",
"attachment;filename="+filename);
fin=newFileInputStream(file);
op=response.getOutputStream();
Filef=newFile(filepath);
if(f.isDirectory()){
for(inti=0;i<f.listFiles().length;i++){
Fileftmp=f.listFiles()[i];
ftmp.delete();
}
}
intlen;
byte[]buf=newbyte[1024];
while((len=fin.read(buf))!=-1){
op.write(buf,0,len);
}
op.flush();
}catch(Exceptione){
System.out.println(e.getMessage());
}finally{
if(op!=null){
op.close();
op=null;
}
if(fin!=null){
fin.close();
fin=null;
}
}
5. js腳本中的一個方法如何調用另一個方法中的數據求助
1、設置全局變數制
var valsel="";
function checkAllOper(oper){.....}
function _deleteAll(){.....}
2、直接將代碼沾過來。。。(這方法,我看還是算了。)
3、在調用checkAllOper(oper)方法,設置return值,前提是再調用一次不會影響你要的效果,這樣又執行了一遍js。
function checkAllOper(oper){
var selectoper = document.getElementsByName("checkbox2");
for(var i=0;i<selectoper.length;i++){
selectoper[i].checked=oper.checked;
}
return selectoper;
}
6. B/S模式下,如何通過js調用dll文件
實現js調用dll中的方法也是ajax中一種實現,首先新新建類庫,類庫名字叫ajax好了,然後新建process.cs文件,代碼如下:
using System;
using System.Web;
namespace ajax
{
public class process:IHttpHandler
{
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
context.Response.CacheControl = "no-cache";
context.Response.Write(DateTime.Now);
}
}
}
然後編譯為ajax.dll
接著在web.config中添加
<configuration>
//IIS6
<system.web>
<httpHandlers>
<add verb="*" type="ajax.process,ajax" path="ajax.aspx"/>
</httpHandlers>
</system.web>
//IIS7
<system.webServer>
<handlers>
<add name="ajax" verb="*" type="ajax.process,ajax" path="ajax.aspx"/>
</handlers>
</system.webServer>
</configuration>
注意IIS6還要設.aspx的映射不檢查文件是否存在。
最後創建test.htm文件:
<html>
<head>
<title>調用DLL中的處理</title>
<script type="text/javascript">
function getTime() {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open("GET", "/ajax.aspx", false);
xmlHttp.onreadystatechange = function () {
if (xmlHttp.readyState == 4) {
alert(xmlHttp.responseText);
}
}
xmlHttp.send(null);
}
</script>
</head>
<body>
<input type="button" value="getTime" onclick="getTime()" />
</body>
</html>
7. winform 中如何引用js和css
在使用#開發winform程序過程中,經常會碰到嵌入了一個WebBrowser的瀏覽器控制項。很多時候,需要在程序里控制網頁的顯示方式,或者調用網頁當中的某個JS函數,反過來,也有可能網頁也需要調用程序當中的函數來實現某些功能。下面講解下如何互相進行交互。
程序調用JS腳本如下:
<scriptlanguage=」javascript」>
functionShopXG(infor)
{
alert(『我要開網店、攜購獨立網店系統,模板最全,最專業的系統!』);
return;
}
</script>
C#代碼調用如下:
using System.Security.Permissions;
注意: 類定義前需要加上下面兩行,否則調用失敗!
[PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
調用的函數:
webBrowser1.Document.InvokeScript("ShopXG ", new string[] {『ssss』});
JS中調用C#函數示例:
C#函數如下:
public void ShowMessage(string message)
{
MessageBox.Show(「免費開網店,攜購獨立網店系統誠邀您的加盟!」);
}
JS里的調用方法:
<script language=」Javascript」>
functionInvokeFunc()
{
window.external.ShowMessage(『呵呵』);
}
</script>
8. 把vars.js壓縮為vars.rar壓縮文件怎麼操作
利用winrar軟體
1、打開需要壓縮的圖片文件,選中vars.js後,右擊,選擇「添加到壓縮文件」。
2、軟體彈出,壓縮文件的提示對話框,在該對話框中可以設置「壓縮的文件名,和壓縮的文件格式比如(RAR,RAR5,ZIP等)還可以選擇其壓縮方式」。成功設置後,點擊「確定」。
3、在當前活動窗口可以看到,已經壓縮成功了,並能查看。
9. C#如何調用JS文件中的函數
通過webBrowser實現C#和javascript互調
實現步驟:
一、新建一個窗體,加入webBrowser控制項
控制項名:webBrowser1
二、在窗體後台代碼加入如下定義
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public partial class Form1 : Form
{
...
}
三、載入網頁
webBrowser1.Navigate(Application.StartupPath + "/UpDateReport.htm");
webBrowser1.ObjectForScripting = this; //這句必須,不然js不能調用C#
四、調用腳本方法
/// <summary>
/// 腳本方法
/// </summary>
/// <param name="tag">JS函數名|參數1|參數2</param>
/// <returns></returns>
private object EXEC_JS(System.Windows.Forms.WebBrowser webBrowser, string tag)
{
string[] args = tag.Split('|');
if (args.Length == 1)
{
return webBrowser.Document.InvokeScript(args[0], null);
}
else
{
object[] objects = new object[args.Length - 1];
Array.Copy(args, 1, objects, 0, objects.Length);
return webBrowser.Document.InvokeScript(args[0], objects);
}
}
五、C#調用腳本方法例子,可以有返回值
//JS方法
<script language="javascript">
function js_fun(args)
{
alert("我是通過js腳本彈出的。你輸入的內容是:"+args);
return "JAVASCRIPT";
}
</script>
//C#代碼
object returnvalue = EXEC_JS(webBrowser1, "js_fun|參數字元串");
MessageBox.Show("js方法返回值是:" + returnvalue.ToString());
六、JS調用C#方法的例子
//C#方法
public string Test(string args)
{
return "你輸入的是:"+args;
}
//JS代碼
<script language="javascript">
window.onload = function()
{
var CS_returnvalue= window.external.Test("aaa");
alert(CS_returnvalue);
}
</script>