我是将动态生成的Html调用的图片、css和js文件都放在程序资源中,
现在在HtmlView中显示动态生成的html可以正常显示,Html中引用的css也没问题,
现在问题就是生成的html需要包含了其他的js文件,而这些js文件却无法正常引用。
如果把这些文件的脚本代码复制到生成的html里面就能正常运行。生成的html代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML xmlns="http://www.w3.org/1999/xhtml">
<HEAD></HEAD>
<link href="res://AppFrameA.exe/style.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="res://AppFrameA.exe/commn.js"></script><BODY onload="TestFunc();">
......
将生成的代码写入HtmlView的代码:
HRESULT CWebBrowseView::SetHTML(LPCTSTR strHTML, LPCTSTR strName, BOOL bHistory)
{
HRESULT hr; // Get document object

SPIHTMLDocument2 doc = GetHtmlDocument(); // Create string as one-element BSTR safe array for IHTMLDocument2::write.
CComSafeArray<VARIANT> sar;
sar.Create(1,0);
sar[0] = CComBSTR(strHTML); // open doc and write
LPDISPATCH lpdRet;
HRCHECK(doc->open(CComBSTR("text/html"),
CComVariant(CComBSTR("_self")),
CComVariant(CComBSTR("")),
CComVariant((bool)1),
&lpdRet)); HRCHECK(doc->write(sar)); // write contents to doc
HRCHECK(doc->close()); // close
lpdRet->Release(); // release IDispatch returned
}生成html代码后调用
SetHTML(html)将生成的写入htmlView进行显示。请问有没有什么办法可以让动态生成的html也可以调用js文件呢?
为什么调用的css没问题,同样的方法调用的js文件却无法执行呢?
谢谢啦!