我有一个字符串,其中包含我从服务器返回的大量文本。
我想知道是否可以在客户端调用该字符串?
我所做的是将文本文件读取到字符串 将字符串放入富文本框中 创建了一个子例程并声明了一个变量“X”来等于富文本框 最后将sub调用到Web浏览器中,但是当我调用sub时,我没有得到任何调用。
我在这里做错了什么?
Imports System.IO
Public Class Form1
Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim fileContents As New System.Text.StringBuilder()
For Each f As FileInfo In New DirectoryInfo("C:\Users\cbu05\Desktop\Tester").GetFiles("*.txt")
' Specify a file pattern here
fileContents.Append(File.ReadAllText(f.FullName) & Environment.NewLine)
Next
' Now you can access all the contents using fileContents.ToString()
RichTextBox1.Text = RichTextBox1.Text & fileContents.ToString()
WebBrowser1.Navigate(textbox1.text)
End Sub
'=====================================================================
Sub submaker()
Dim maker As String = RichTextBox1.Text
End Sub
'=============================================================================
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
Call submaker()
End Sub
'==========================================================================
End Class
对于有限的信息,对不起。这正是我想要做的......我正在尝试编写我的应用程序以导航到一个网站(我自己的)并填写一个Web表单。
我知道使用Web浏览器执行此操作的唯一方法是将信息包含在浏览器的document_completed部分中。这很好用但是一旦我编译代码并设置我的应用程序,我就没有办法用新网站更新我的应用程序。
我试图做的是继续编写我的网页浏览器document_completed与我的大约5个网站。我需要能够使用新站点更新我的应用程序,我能做到这一点的唯一方法是创建更新并修补我当前的应用程序.exe。
我的工作是尝试创建一个通用子例程,在子例程中我会告诉应用程序导航到一个文件夹,读取文件夹中的每个文本文件(其中包含webbrowser的document_completed代码)和然后把代码放到一个字符串中...最后我将sub调用到webbrowser。
这背后的想法是我可以通过添加/删除文件夹中的txt文件来添加/删除网站。
答案 0 :(得分:1)
是的,可以使用eval
方法“调用”(评估)字符串。这是有争议的,可能有其他方法可以做你想做的事,但你已经打开了潘多拉的盒子。以下是更多信息:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/eval
答案 1 :(得分:1)
正如Brian L.所指出的,JavaScript中的字符串可以传递给eval
方法,解释器会将该字符串视为JavaScript代码,然后执行它。不幸的是,您显示的字符串不是JavaScript,因此解释器无法理解它并因第一个单词后面的语法错误而失败。
另外,一目了然,您发布的代码似乎做了客户端JavaScript无法做到的事情,即文件IO。您能否详细介绍一下您正在尝试做什么以及您希望在客户端执行哪些代码?