javascript资源无法在WebBrowser控件(WinForm)中运行

时间:2017-01-03 00:54:57

标签: javascript c# winforms webbrowser-control

我正在构建一个C#应用程序(WinForm)。我有一个javascript组件,可以更改网页的背景颜色。如果我将JS直接放入HTML文件中就可以了(即webBrowser的背景颜色显示为红色)。

<!DOCTYPE html>
<<HTML>
<HEAD>
<TITLE>Title</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<HR>
<script>
    var setBackColor = function () {
        document.body.style.backgroundColor = "red";
    }
    setBackColor();
</script>
<H1>This is a Header</H1>
<H2>This is a Medium Header</H2>
<P> This is a new paragraph!
<P>
    <B>This is a new paragraph!</B>
    <BR><B><I>This is a new sentence without a paragraph break, in bold   italics.</I></B><BR>
<HR>
</BODY>
</HTML>

当我将JS放在外部文件中并尝试通过显示的路径访问它时,我收到一条错误,显示...

“属性'setBackColor'的值为null或未定义,而不是Function对象。”

<!DOCTYPE html>

<<HTML>
<HEAD>
<TITLE>Title</TITLE>
</HEAD>
<BODY BGCOLOR="FFFFFF">
<HR>
<script type="text/javascript" src=c:\users\local user\documents\visual studio 2015\Projects\HTMLTestApp\HTMLTestApp\Scripts\JavaScript1.js></script>
<body onload="setBackColor()"></body>
<H1>This is a Header</H1>
<H2>This is a Medium Header</H2>
<P> This is a new paragraph!
<P>
    <B>This is a new paragraph!</B>
    <BR><B><I>This is a new sentence without a paragraph break, in bold italics.</I></B><BR>
<HR>
</BODY>
</HTML>

我是一个完整的新手编码器,所以我不知道我做错了什么。

1 个答案:

答案 0 :(得分:0)

好吧,这更像是一个HTML和javascript的东西,而不是一个Web浏览器控件。

在脚本的src属性上查看w3schools

首先,您需要在引号中使用src属性的URL。 其次,人们通常使用网页设置某种目录结构,因此他们通常使用相对路径,这样当他们从Dev环境复制到他们的网络服务器时,它仍然有效。

因此,如果您的脚本文件夹位于包含HTML的文件夹下面,那么您可以将其用作脚本标记:

<script src="Scripts/JavaScript1.js"> </script>

此外,您的身体标签已声明两次。这太多次了。