当我尝试使用jQuery
时,它说jQuery是未定义的
在使用jquery做任何事之前我都包含了jquery.js。
<head>
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<script type="text/javascript" src="ajax/JS/jquery.js"></script>
<!-- Shared assets -->
<link rel="stylesheet" type="text/css" href="ajax/CSS/style.css">
<title></title>
<script>
var $j = jQuery.noConflict;
</script>
</head>
但是当我给出jquery
文件的完整路径时,它开始工作
<script type="text/javascript" src="d:/htmldialog/ajax/JS/jquery.js"></script>
问题是我无法给出完整的路径。在我的
CDHTMLDialogDlg::OnInitDialog
Navigate (strUrl);
答案 0 :(得分:0)
首先,考虑将内容交付网络(CDN)用于公共库。它们跨页面缓存,并且可以通过相当大的块来增加页面的加载时间。以下是jQuery的https://developers.google.com/speed/libraries/devguide#jquery
的Google CDN其次,看起来您的相对路径很可能已关闭。你的CSS加载了吗?您的实际.html文件位于何处。
除非绝对必须离线运行或拥有特定的jQuery版本,否则请使用CDN。
答案 1 :(得分:0)
我认为路径上的一切都很好。但您必须在regedit.exe
下的yourappname.exe
下创建一个DWORD值,其值为7777
,其值为{{1}},
32位:HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION
64位:HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Internet Explorer \ Main \ FeatureControl \ FEATURE_BROWSER_EMULATION
更多参考click here。
答案 2 :(得分:0)
首先感谢大家的回答和帮助 我找到了解决我提到的问题的方法。由于WinAppy声明需要在注册表中添加密钥 1. [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Internet Explorer \ MAIN \ FeatureControl \ FEATURE_BROWSER_EMULATION] 2.需要为JS和CSS提供完整的路径。这可以使用JAVAScript完成
var loc = window.location.toString();
loc = loc.replace("res://", "");
loc = loc.split("\\").join("/");
var imageRoot = loc.substr(0, loc.lastIndexOf("Debug"));
imageRoot = imageRoot + "ajax//images//";
var url = new Array();
url[0] = loc.substr(0, loc.lastIndexOf("Debug")) + "ajax//JS//jquery.js";
url[1] = loc.substr(0, loc.lastIndexOf("Debug")) + "ajax//JS//jquery.jcarousel.min.js";
url[2] = loc.substr(0, loc.lastIndexOf("Debug")) + "ajax//JS//jcarousel.ajax.js";
for (i = 0; i < url.length; i++) {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url[i];
head.appendChild(script);
}
</script>
3. document.getElementById无效的另一个问题的解决方案是调用它 window.onload = function(){ document.getElementById(“Title_Bar”)。src = imageRoot +“Title_Bar.png”; } 如果在CHtmlDialog中使用默认调用。换句话说,如果不使用Navigate(strUrl);
答案 3 :(得分:0)
我没有得到上述建议,但是当我将我的JavaScript与我的html一起放入我的资源时,我得到了以下工作:
<script type="text/javascript" src="res:/JS/#2300"></script>
其中#2300是我的资源ID的值,指的是包含JavaScript的自定义资源。 JS是我创建的自定义资源类型。
希望有人帮助。