【发布时间】:2015-04-18 03:44:19
【问题描述】:
最近我遇到了 C# 中的 Web 浏览器控件的问题。
导航到其中实现了 JavaScript 的网页会导致 WebBrowser 崩溃 - 它声称该网页中的 JS 代码存在语法错误。 (它提供了行和错误是什么字符,所以我去看看是什么导致了错误)。
错误示例:
function validate_fen(fen) {
var errors = {
0: 'No errors.',
1: 'FEN string must contain six space-delimited fields.',
2: '6th field (move number) must be a positive integer.',
3: '5th field (half move counter) must be a non-negative integer.',
4: '4th field (en-passant square) is invalid.',
5: '3rd field (castling availability) is invalid.',
6: '2nd field (side to move) is invalid.',
7: '1st field (piece positions) does not contain 8 \'/\'-delimited rows.',
8: '1st field (piece positions) is invalid [consecutive numbers].',
9: '1st field (piece positions) is invalid [invalid piece].',
10: '1st field (piece positions) is invalid [row too large].',
};
错误所在的行是 3977 char number 5 或更具体地说,此代码中 char 5 中的最后一行(这意味着它可能是最后一个逗号,如果我错了,请纠正我)。
更具体的错误代码:
10: '1st field (piece positions) is invalid [row too large].',
};
鉴于其他浏览器确实可以正确加载网站,包括 IE(我知道 webBrowser 和 IE 并不相同)我将如何解决这些问题?
我的想法是:
- 在运行时修复脚本(如果可能)
- 无论如何都要加载脚本。
我不确定,但我认为 webBrowser 控件不会加载脚本,如果出现错误会导致稍后出现更多错误。
我将如何成功加载特定网页? 是否可以在运行时编辑脚本(脚本不在 HTML 的头部,它在服务器上)?如果可能的话,怎么做?
【问题讨论】:
标签: javascript c# html