我想将 HTML 文件加载到 dojo 对话框中。这是我的 HTML 文件:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Demo</title>
</head>
<body>
<canvas width=500 height="240" id="canvas"></canvas>
<hr>
<input type="button" id="upload" value="upload" onclick="decodeLocalImage();">
<ul></ul>
<script type="text/javascript" src="filereader.js"></script>
<script type="text/javascript" src="qrcodelib.js"></script>
<script type="text/javascript" src="webcodecamjs.js"></script>
<script type="text/javascript">
var txt = "innerText" in HTMLElement.prototype ? "innerText" : "textContent";
var arg = {
resultFunction: function(result) {
var aChild = document.createElement('li');
aChild[txt] = result.format + ': ' + result.code;
document.querySelector('body').appendChild(aChild);
}
};
var decoder = new WebCodeCamJS("canvas").init(arg);
function decodeLocalImage(){
decoder.decodeLocalImage();
}
</script>
</body>
</html>
这就是我制作对话框的方式:
this.scanDialog = new Dialog({
title: dojoConfig.i18n.productCode,
style: "width: 900px",
showTitle:true,
dimensions:[900,150],
'class': 'dialogStyle'
});
所以我的问题是如何将 HTML 文件加载到对话框中?
最佳答案
您可以使用 href 属性加载外部对话框内容,如下所示:
this.scanDialog = new Dialog({
title: dojoConfig.i18n.productCode,
style: "width: 900px",
showTitle:true,
dimensions:[900,150],
'class': 'dialogStyle',
href: "/url/to/dialog/content/including/layout/dijit/"
});
检查 official doc
或者试试这个:
this.scanDialog = new Dialog({
title: dojoConfig.i18n.productCode,
style: "width: 900px",
showTitle:true,
dimensions:[900,150],
'class': 'dialogStyle',
content:`<html>
<head>
<meta charset="UTF-8">
<title>Demo</title>
</head>
<body>
<canvas width=500 height="240" id="canvas"></canvas>
<hr>
<input type="button" id="upload" value="upload" onclick="decodeLocalImage();">
<ul></ul>
<script type="text/javascript" src="filereader.js"></script>
<script type="text/javascript" src="qrcodelib.js"></script>
<script type="text/javascript" src="webcodecamjs.js"></script>
<script type="text/javascript">
var txt = "innerText" in HTMLElement.prototype ? "innerText" : "textContent";
var arg = {
resultFunction: function(result) {
var aChild = document.createElement('li');
aChild[txt] = result.format + ': ' + result.code;
document.querySelector('body').appendChild(aChild);
}
};
var decoder = new WebCodeCamJS("canvas").init(arg);
function decodeLocalImage(){
decoder.decodeLocalImage();
}
</script>
</body>
</html>`
});
关于javascript - 将 HTML 文件内容加载到 dojo 对话框中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52344327/