Tag: #javascript

能够切换驱动程序而不是焦点

场景:假设我有两个选项卡TAB1和TAB2。 我想根据特定条件在这些选项卡之间切换。 使用下面的代码我可以在选项卡之间切换驱动程序,但选项卡焦点不会改变。 帮助我…这有可能实现这一目标吗? public static Boolean SwitchWindow(string title) { try { var currentWindow_title = Driver.Title; var currenhandle = Driver.CurrentWindowHandle; var availableWindows = new ListDriver.WindowHandles); if (currentWindow_title != title) { foreach (string w in availableWindows) { if (currenhandle != w) { Driver.SwitchTo().Window(w); var tit = Driver.Title; if (Driver.Title == title) { break; } } } […]

Xilium.CefGlue如何用返回值执行JavaScript?

我是编程multithreading的新手,我无法从xelium示例中了解如何执行javascript并获取返回值。 我测试过: browser.GetMainFrame().ExecuteJavaScript(“SetContent(‘my Text.’)”, null, 0); javascript被执行,但我这个函数不允许我获得返回值。 我应该执行以下函数来获取用户在框中写入的所有文本。 browser.GetMainFrame().ExecuteJavaScript(“getContent(”)”, null, 0); TryEval函数应该这样做…… browser.GetMainFrame().V8Context.TryEval(“GetDirtyFlag”, out returninformation , out exx); 但是这个函数无法从浏览器中调用,我认为必须从渲染器中调用它? 我怎么能这样做? 我无法理解有关CefRenderProcessHandler和OnProcessMessageReceived的解释。如何注册Scriptable对象并设置我的javascript和参数? 感谢我如何解决这个问题!

在不访问外部文件的情况下在WebBrowser控件中显示图像

我在应用程序中使用C#中的WebBrowser控件来显示HTML。 所有数据都来自数据库,因此我在内存中生成一个带有Inline-CSS的完整页面并将其发送到浏览器。 但现在我想支持图像,这似乎是一个问题,因为我不想将图像存储在硬盘驱动器上,甚至不在临时目录中。 我知道数据:URI Scheme ,但这似乎太有限了。 我想知道:我可以以某种方式使用JavaScript来动态生成图像,给定一个字节流,基本上镜像数据:使用JavaScript的Scheme? 或者是否有其他方式来显示图像,即使用GDI +? 如果需要,我可以对图像做一些假设,即如果需要我可以强制用户指定宽度和高度,但我不能真正强制执行该位置,毕竟它是HTML。 我也可以强制所有图像都采用特定格式,基本上任何可以帮助解决这个问题的图像。 编辑:我可能会滥用像VML这样的东西来显示位图数据吗? 我似乎不能使用Canvas或SVG(在IE中都不支持,因此在MSHTML中?) 编辑2: VML可以工作,但处理器负载是疯了。 所以我要么实现一个Web服务器来提供文件(比如cassini),要么在我的另一个问题中尝试Silverlight方法 。

使用asp文件上传器的Uplaod图像超过4 mb?

我正在使用一个asp文件上传器,通过它上传一个按钮点击图像。每当我上传超过4 mb的图像它崩溃。如果我在配置中为maxrequestlength定义一个大小然后如果我再次超过文件大小它崩溃。如果上传了大文件,是否可以限制用户并显示免责声明消息。 我的意图是让用户知道文件很大。 aspx页面 Image Upload   <%—-%> <%—-%> .cs页面事件。 protected void btnUpload_Click(object sender,EventArgs e){try {//hfCurrentId.Value =“work item id:”+ hfWorkItemID.Value; if(fileUploader.HasFile){if(fileUploader.PostedFile.ContentType.Contains(“image”)&& fileUploader.PostedFile.ContentLength <= 3145728){ if (ddlImageType.SelectedValue == “1”) { Session[“FileBytes”] = fileUploader.FileBytes; hfImage1Byte.Value = Convert.ToBase64String(fileUploader.FileBytes); imgPreview.ImageUrl = “~/Handlers/ImageHandler.ashx?workItemId=” + workItemId + “&imageTypeId=” + ddlImageType.SelectedValue; } else { Session[“FileBytes2”] = fileUploader.FileBytes; hfImage2Byte.Value = Convert.ToBase64String(fileUploader.FileBytes); imgPreview2.ImageUrl = […]

从codebehind中的javascript函数中检索值

如何在代码隐藏中,在页面加载时从javascript函数中检索值.javascript函数如: function isIFrame() { var isInIFrame = (top.location != self.location); if (isInIFrame) { return “inside”; } else { return “outside”; } } 和代码背后像: protected void Page_Load(object sender, EventArgs e) { string resutOfExecuteJavaScript = “”; // resutOfExecuteJavaScript = isIFrame(); // from javascript if (resutOfExecuteJavaScript == “inside”) { // do something } else { // do something […]

如何为多个动态文本框启用Google Transliteration(ASP.Net)

以下是在ASP.Net Pages中集成Google Transliteration代码的示例(随处可用)代码。 但我的问题是,如何在运行时生成的TextBoxes中启用音译? 此脚本需要文本框的ID才能应用Transliteration。 但我的文本框将在运行时生成。 需要替代此代码行: control.makeTransliteratable([ ‘transliterateTextarea’]); //Script Starts here // Load the Google Transliterate API google.load(“elements”, “1”, { packages: “transliteration” }); function onLoad() { var options = { sourceLanguage: google.elements.transliteration.LanguageCode.ENGLISH, destinationLanguage: [google.elements.transliteration.LanguageCode.HINDI], shortcutKey: ‘ctrl+g’, transliterationEnabled: true }; // Create an instance on TransliterationControl with the required // options. var control = new […]

如何在将C#字符串传递给javascript时优雅地转义单引号和双引号

我有一个C#字符串需要传递给页面然后发送回服务器。 它需要能够处理单引号,双引号和可能导致问题的任何其他标准字符。 我正在使用MVC4和razor。 现在我将字符串传递给javascript。 我有这样的事情: var str = ‘@Html.Raw(Model.SomeString.Replace(“‘”, @”\'”))’; 这很好用,但我想知道是否有更好,更优雅的方式来转义将传递给javascript的C#字符串。 我已经尝试将值存储在隐藏字段中,如下所示: @Html.Hidden(x => x.SomeString) 但是当我去抓取价值时,它会出现双引号问题。 编辑:结果是Html.Hidden问题是由其他东西引起的 任何帮助是极大的赞赏! 注意:必须在IE9和10中工作。没有ViewBags。

使用WinForms GeckoFX控件从C#调用javascript函数的推荐方法是什么?

问题说明了一切。 我已将所有内容都连接起来并知道如何将消息从浏览器html发送到c#,但不是其他方式。 我应该可以这样做: browserControl.JSCall(“myFunction(‘Dave’,’Smith’);”); …并在网络代码中: function myFunction(firstName, lastName) { $(“#mydiv”).text(firstName + ‘ ‘ + lastName); } 谢谢 – 戴夫

从GridView ItemTemplate按钮执行Javascript函数单击ASP.NET Web窗体

我有一个DataGridView,它有两个动态生成的ItemTemplate按钮列。 我点击它们时触发的两个按钮都有代码隐藏,但是当点击btnInfo按钮时我还需要一个javascript函数来运行 标记: <asp:Button ID="btnInfo" runat="server" CausesValidation="false" CommandName="MoreInfo" Text="More Info" CommandArgument='’/> <asp:Button ID="btnAdd" runat="server" CausesValidation="false" CommandName="AddItem" Text="Add To Log" CommandArgument='’ /> ‘ 我有一个名为populateLabel()的javascript函数,我需要在单击btnInfo时触发。 有任何想法吗? (我知道有类似的问题已被问过,我在整个post中查看并尝试了一些事情,但似乎没有任何工作) 编辑:这是ItemTemplate按钮的代码隐藏的样子 protected void gridResutls_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e) { // Kick out if neither of the two dynamically created buttons have been clicked if (e.CommandName != “MoreInfo” && e.CommandName != “AddItem”) […]

YUI按钮启动Postback两次

我在VS 2005下使用ASP.NET 2.0。 对于我的.aspx页面, Page_Load被调用了两次。 AutoEventWireup设置为true ,但即使我将其设置为false并手动添加EventHandler ,它仍会被触发两次。 // also set AutoEventWireup to false public _Default() { this.Load += new EventHander(this.Page_Load); } // oops — fired twice 在Default.aspx页面中,在用户输入用户名和密码后,我会重定向到另一个页面,但它似乎重定向回Default.aspx页面。 没有src我没有任何标签。 具有RunAt=”server”属性的标记是 。 对于其他一切,我使用YUI CSS和JavaScript。 我没有任何控件。 我错过了什么? 更新 我正在使用YUI库中的Button小部件。 如果在Javascript和HTML代码中为按钮指定“submit”,则在提交时,该JavaScript事件将生成两次。 这很难理解:我开始评论JavaScript和CSS(特别是包含)的点点滴滴,直到事件只触发一次。