JavaScript-Delphi,EmbeddedWB / TWebbrowser-jQuery无法执行
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaScript-Delphi,EmbeddedWB / TWebbrowser-jQuery无法执行,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2053字,纯文字阅读大概需要3分钟。
内容图文
我正在使用EmbeddedWB(一个TWebbrowser扩展)来做一些动态生成的内容的“实时预览”.
我正在尝试将jQuery添加到组合中,这样我可以得到一些奇特的效果,但是,由于IE9总是要求为每个该死的页面询问“允许阻止的内容”,因此肯定不允许动态生成的页面(Webbrowser.LoadFromString)找乐子.简而言之:它不允许Javascript执行.
我尝试将SecurityManager添加到我的TEmbeddedWB中,但是也没有这样做.我在Firefox和IE9中测试了我的动态代码,并且该代码可以工作(当然,在IE9中,我必须首先允许,这是我发现这是一个安全问题).
是否有一种轻松的方法来解决此问题,而无需手动进入IE并进行调整?还是我对问题的原因完全错了?
编辑:尝试this article’s method后,IE不再询问是否应允许其他内容,但是我的脚本仍未在TEmbeddedWB / TWebbrowser中执行.
编辑2:好的,通过删除jQuery代码并显示简单的Alert,我不得不得出结论,现在正在执行JS,但是jQuery不是.
编辑3:这是我的应用程序生成的(精简的)HTML代码,其中jQuery在我的EmbeddedWB / TWebbrowser控件中不起作用-但是,它在Internet Explorer 9本身中可以工作:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=9" />
<script type="text/javascript" src="file://C:\jQuery.js"></script>
</head>
<body>
<center>
<p>
Some stuff here!
</p>
</center>
<script type="text/javascript" language="javascript">
$(document).ready(function(){
alert('I Am jQuery!!!!');
});
</script>
</body>
</html>
EDIT4:我也尝试过将src切换到Google Hosted jQuery,但这也不起作用.删除元标记也无法修复.只是让您知道我尝试过的事情,然后再浪费时间提出建议:)
EDIT5:通过导航到使用jQuery的网站(Webbrowser.Navigate),该网站可以按预期工作.但是,当从我的本地test.html或通过执行.LoadFromString();时,它将不起作用.
无法使用= jQuery代码未执行.
解决方法:
如果您为jquery.js文件使用正确的URL,这似乎可以工作:
<script type="text/javascript" src="file://C:/jQuery.js"></script>
<script type="text/javascript" src="file:///jQuery.js"></script>
或相对路径,您也可以省略file://协议:
<script type="text/javascript" src="../../jQuery.js"></script>
当您从文件加载HTML时,以上方法适用.但是,问题是,是否不考虑内存中的内容和文件系统中的javascript跨越安全上下文边界并因此被嵌入式浏览器拒绝.在那种情况下,应该直接将jquery嵌入HTML内容中(使用< script>标记).
内容总结
以上是互联网集市为您收集整理的JavaScript-Delphi,EmbeddedWB / TWebbrowser-jQuery无法执行全部内容,希望文章能够帮你解决JavaScript-Delphi,EmbeddedWB / TWebbrowser-jQuery无法执行所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。