C# 执行javascript 怎么获取document对象

问题描述

Typetype=Type.GetTypeFromProgID("ScriptControl");//获取脚本对象objectobj=Activator.CreateInstance(type);//Typetype.InvokeMember("Language",BindingFlags.SetProperty,null,obj,newobject[]{"JScript"});//设置语言类型stringresultStr="";try{type.InvokeMember("AddCode",BindingFlags.InvokeMethod,null,obj,newobject[]{"functionaa(){returndocument;}"});//添加JS代码strJs.Replace("window","this")resultStr=type.InvokeMember("Eval",BindingFlags.InvokeMethod,null,obj,newobject[]{"aa();"}).ToString();//执行JS}catch(TargetInvocationExceptiontargetEx){if(targetEx.InnerException!=null){throwtargetEx.InnerException;}}

提示document未定义,怎么获取document,又怎么添加到成员里

解决方案

解决方案二:
如果是网页,那浏览器会创建一个document对象你这里的document那个ScriptControl会帮你创建吗?否则它从哪来?
解决方案三:
引用1楼shingoscar的回复:

如果是网页,那浏览器会创建一个document对象你这里的document那个ScriptControl会帮你创建吗?否则它从哪来?

我也不知道从哪里来,这也正是我想知道的,我只是想让我的这些代码能正常运行
解决方案四:
楼主的这段代码是纯JS,没有网页,也就没有document,这种用法也是第一次见到.
解决方案五:
引用3楼tcmakebest的回复:

楼主的这段代码是纯JS,没有网页,也就没有document,这种用法也是第一次见到.

不奇怪,是正常的。研究下呀
解决方案六:
引用2楼atfeel的回复:

我也不知道从哪里来,这也正是我想知道的,我只是想让我的这些代码能正常运行

你那些代码毫无根据地编出来的。
解决方案七:
前台跟后台的代码可以直接在一分代码片段里面调用吗?应该是不可以的吧。一般在C#的后台代码中通过ClientScript.RegisterStartupScript来调用javascript的代码
解决方案八:
引用5楼sp1234的回复:

Quote: 引用2楼atfeel的回复:
我也不知道从哪里来,这也正是我想知道的,我只是想让我的这些代码能正常运行

你那些代码毫无根据地编出来的。

你为何断言我是毫无根据地编出来的?C#模拟httpPost请求登录网站帐号的时候,某些网站是先对密码进行各种javascript加密。javascript里面用到window,和document对象,这些对象是WEB控件特有的。C#里模拟执行这些js加密函数时调用到window和document.,提示未定义、你想想,我还是毫无根据地编出来吗?好好想清楚再回答,谢谢
解决方案九:
求解答求解答

时间: 2024-09-24 07:11:22

C# 执行javascript 怎么获取document对象的相关文章

Winform下动态执行JavaScript脚本获取运行结果,谈谈网站的自动登录及资料获取操作

为了有效阻止恶意用户的攻击,一般登录都会采用验证码方式方式处理登录,类似QQ的很多产品的验证码处理,但在一些OA系统中,系统通过非对称加密方式来处理登录的密码信息,登录页面每次提供对密码进行加密的公钥是不同的,因此如果要模拟登录,就需要先获取公钥,然后根据公钥把输入的密码加密,然后通过POST提交给服务器进行验证登录.由于公钥是页面刷新变化的,而加密是通过Javascript脚本进行加密,如下面的登录页面源码所示.   <meta http-equiv="Content-Type"

javascript Window及document对象详细整理_基础知识

一.Window对象 -------------------------------------------------- ------------------- 对象属性 window //窗户自身 window.self //引用本窗户window=window.self window.name //为窗户命名 window.defaultStatus //设定窗户状态栏信息 window.location //URL地址,配备布置这个属性可以打开新的页面 -----------------

javascript中获取容器对象(div)位置信息

例  代码如下 复制代码 function CPos(x, y) {  this.x = x;  this.y = y; } function getObjPos(obj)//获取控件的位置 {  var target = obj;  var pos = new CPos(target.offsetLeft,target.offsetTop);  var target = target.offsetParent;  while (target)  {   pos.x += target.offs

javascript中获取选中对象的类型_javascript技巧

在Javascript中 利用 document.selection 可以创建 textRange. 但其实不是什么时候都可以创建的. 我们可以利用 document.selection.type 来判断当前选中的是文本还是对象. document.selection.type 返回三个值 "None" "Text" "Control" 只有当返回值是 Text 时,创建的textRange才是有效的.

JavaScript中获取未知对象属性的代码_javascript技巧

这两天尝试写个AjaxToolkit:AsyncFileUpload的Demo, 它有个OnClientUploadComplete属性可以关联客户端JS, 于是可以写OnClientUploadComplete="uploadComplete", 然后定义uploadComplete方法: 复制代码 代码如下: function uploadComplete(sender, e) { //Do something here... } 但是, 怎么从e获得上传文件的信息呢? 除了看Aj

Domino中javascript有没有document对象

问题描述 如题大虾帮帮忙! 解决方案 解决方案二:有的.平时你在web开发中怎么用就怎么用,没什么区别.解决方案三:在web端和所有web开发相同.解决方案四:该回复于2010-04-02 13:52:22被版主删除

Javascript中获取对象的原型对象的方法小结_javascript技巧

在Javascript中,如果我们有一个对象但是又不知道它的构造函数时,如何获取它的原型对象呢? 在Chrome中或是FireFox浏览器中,我们可以直接使用对象的__proto__属性获取它的原型对象. 复制代码 代码如下: <!-- lang: js --> function F(){}; var foo = new F(); alert(foo.__proto__ == F.prototype); 但是,__proto__属性在IE浏览器中一直到IE11才被支持. 那么在不支持__pro

JAVA之旅(十二)——Thread,run和start的特点,线程运行状态,获取线程对象和名称,多线程实例演示,使用Runnable接口

JAVA之旅(十二)--Thread,run和start的特点,线程运行状态,获取线程对象和名称,多线程实例演示,使用Runnable接口 开始挑战一些难度了,线程和I/O方面的操作了,继续坚持 一.Thread 如何在自定义的代码中,自定义一个线程呢? 我们查看API文档,我们要启动一个线程,先实现一个子类, package com.lgl.hellojava; public class MyThread extends Thread { @Override public void run()

JavaScript——DOM操作——Window.document对象详解_javascript技巧

一.找到元素:     docunment.getElementById("id"):根据id找,最多找一个:     var a =docunment.getElementById("id");将找到的元素放在变量中:     docunment.getElementsByName("name"):根据name找,找出来的是数组:     docunment.getElementsByTagName("name"):根据标签