为什么我的 Javascript 函数不是 HTML 的 运行?
Why is my Javascript function not running from HTML?
我遇到了一个问题,我想将我的脚本放在另一个文件而不是我的 html 中,但是当我把它放在我的 Javascript 文件中时,它无法正常工作在脚本位于 html 文件之前。
HTML:
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Client-Webapp</title>
<base href="./">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<input id="inputFileToLoad" type="file" name="encode" />
<div id="imgTest"></div>
<script type='text/javascript' href="/ClientApp/www/js/index.js"></script>
</body>
</html>
Javascript:
function encodeImageFileAsURL() {
console.log('kaksi');
var filesSelected = document.getElementById("inputFileToLoad").files;
if (filesSelected.length > 0) {
var fileToLoad = filesSelected[0];
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent) {
var srcData = fileLoadedEvent.target.result; // <--- data: base64
var newImage = document.createElement('img');
newImage.src = srcData;
document.getElementById("imgTest").innerHTML = newImage.outerHTML;
//alert("Converted Base64 version is " + document.getElementById("imgTest").innerHTML);
console.log("Converted Base64 version is: " + document.getElementById("imgTest").innerHTML);
}
fileReader.readAsDataURL(fileToLoad);
}
}
在控制台上我什么也没得到。没有错误或文件的 base64 是我的目标。
如果有帮助的话,我正在用 Cordova 做这个。
文件结构是这样的:
ClientApp
---www
------index.html
------js
---------index.js
同样,如果我将脚本放在 html 中,它就会起作用。所以我不知道函数调用或路径是问题还是什么。
感谢您的帮助。
我猜你可以试试:
<script src="js/ClientApp/www/js/index.js"></script>
代替
<script type='text/javascript' href="/ClientApp/www/js/index.js"></script>
我将 href
替换为 src
而我忽略了 type
src
无论 type='text/javascript'
对我有用
您的脚本源不正确。
您正在用 href
加载 javascript。这是错误的。您必须使用 src
属性。
<script type='text/javascript' src="js/index.js"></script>
您可以再试一次。
你有运行 encodeImageFileAsURL
javascript 功能吗?
您在脚本标签中使用的是 href 属性而不是 src:
<script type='text/javascript' href="/ClientApp/www/js/index.js"></script>
type 属性在 html5 中是可选的,因此这里并不需要。
试试这个:
<script src="js/index.js"></script>
尝试<script src=“js/index.js”></script>
我遇到了一个问题,我想将我的脚本放在另一个文件而不是我的 html 中,但是当我把它放在我的 Javascript 文件中时,它无法正常工作在脚本位于 html 文件之前。
HTML:
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<title>Client-Webapp</title>
<base href="./">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<input id="inputFileToLoad" type="file" name="encode" />
<div id="imgTest"></div>
<script type='text/javascript' href="/ClientApp/www/js/index.js"></script>
</body>
</html>
Javascript:
function encodeImageFileAsURL() {
console.log('kaksi');
var filesSelected = document.getElementById("inputFileToLoad").files;
if (filesSelected.length > 0) {
var fileToLoad = filesSelected[0];
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent) {
var srcData = fileLoadedEvent.target.result; // <--- data: base64
var newImage = document.createElement('img');
newImage.src = srcData;
document.getElementById("imgTest").innerHTML = newImage.outerHTML;
//alert("Converted Base64 version is " + document.getElementById("imgTest").innerHTML);
console.log("Converted Base64 version is: " + document.getElementById("imgTest").innerHTML);
}
fileReader.readAsDataURL(fileToLoad);
}
}
在控制台上我什么也没得到。没有错误或文件的 base64 是我的目标。 如果有帮助的话,我正在用 Cordova 做这个。
文件结构是这样的:
ClientApp
---www
------index.html
------js
---------index.js
同样,如果我将脚本放在 html 中,它就会起作用。所以我不知道函数调用或路径是问题还是什么。 感谢您的帮助。
我猜你可以试试:
<script src="js/ClientApp/www/js/index.js"></script>
代替
<script type='text/javascript' href="/ClientApp/www/js/index.js"></script>
我将 href
替换为 src
而我忽略了 type
src
无论 type='text/javascript'
您的脚本源不正确。
您正在用 href
加载 javascript。这是错误的。您必须使用 src
属性。
<script type='text/javascript' src="js/index.js"></script>
您可以再试一次。
你有运行 encodeImageFileAsURL
javascript 功能吗?
您在脚本标签中使用的是 href 属性而不是 src:
<script type='text/javascript' href="/ClientApp/www/js/index.js"></script>
type 属性在 html5 中是可选的,因此这里并不需要。 试试这个:
<script src="js/index.js"></script>
尝试<script src=“js/index.js”></script>