Javascript代码可以在桌面上使用,但不能在手机上使用
Javascript code works on desktop but not on mobile
我有一个网页的以下代码,该网页应该从相机或文件系统上传图像,然后将其转换为字符串,然后作为JSON请求发送
var fileToLoad = new Blob([images[0]], {
type: 'image/tif'
});+
var fileReader = new FileReader();
fileReader.onload = function(fileLoadedEvent) {
var srcData = fileLoadedEvent.target.result; // <--- data: base64
var divTest = document.getElementById("imgTest");
var newImage = document.createElement('img');
newImage.src = srcData;
imageString = newImage.outerHTML;
//<img src="data:image/tif;base64,SUkqAAgAAAATAP4ABAABAAAAAAAAAAABBAABAAAAsAQAAAEBBAABA…71sXFsbHw8F/BP6Hr9+JZlWf//+1UVYRmCIUOFbllbXhaaSzELdERERERERET8//////8/AAIg">
imageString = imageString.substring(32, imageString.length-2); //The above returns a string for <img src.......>. So this line removes the html stuff to leave just the image string
console.log(imageString);
var testJSON =
{
"jobWithDocsInitialization": {
"InputVariables": [{
"Id": "InputVar",
"Value": "Conor"
}],
"RuntimeDocumentCollection": [{
"Base64Data": null,
"Data": null,
"DeleteDocument": true,
"DocumentGroup": {
"Id": null,
"Name": "",
"Version": 0
},
"DocumentName": "",
"DocumentTypeId": null,
"FieldsToReturn": null,
"FilePath": null,
"FolderId": null,
"FolderTypeId": null,
"MimeType": null,
"PageDataList": [{
"Data": null,
"Base64Data": imageString,
"MimeType": "image/tiff",
"RuntimeFields": {}
}],
"PageImageDataCollection": null,
"ReturnAllFields": true,
"RuntimeFields": null
}],
"StartDate": null
},
"processIdentity": {
"Id": null,
"Name": "DriversLicRTTI",
"Version": 10
},
"sessionId": "C640521793431F4486D4EF1586672385",
"variablesToReturn": {"id":"loopIndex"}
};
ajax.send(JSON.stringify(testJSON));
}
fileReader.readAsDataURL(fileToLoad);
当选择图像时,将调用上面的代码。在JSON请求中发送之前,它会将选定的图像更改为字符串。它应该能够在桌面或手机上的网络浏览器上运行。它在桌面上运行得很好。我可以将上传的图像转换为字符串并发送到我的服务器,没有问题。
然而,当我在手机上做同样的事情时,我会收到一个错误,说处理请求时出错:未定义。
如果没有Chrome调试器(这是一个巨大的帮助),以及机器上的Fiddler之类的东西,有什么方法可以找出可能出现的问题吗?我真的不知道如何在电话里解决这个问题。
根据Jan对我问题的回答,我的Android手机的Chrome调试器运行得很好。很快就解决了我的问题。
https://developer.chrome.com/devtools/docs/remote-debugging
相关文章:
- JS可以在Chrome中工作,但不能在Firefox中工作
- WebRTC视频聊天可以在FF中使用,但不能在Chrome中使用
- jQuery Datepicker可以在Safari中工作,但不能在FF或Chrome中工作
- 三角库可以与firefox一起使用,但不能在Chrome中使用
- Highcharts可以从服务器加载数据,但不能更新
- 刷新GoogleMaps tile服务器可以使用JavaScript,但不能使用GWT
- node.js可以识别字符模式,但不能识别数字模式
- 如何在元素中处理鼠标事件,但不能在其子元素上处理
- Json到CSV下载,可以在chrome中工作,但不能在IE浏览器中工作
- jQuery$.post可以在chrome、safari中工作,但不能在FF中工作(声明成功回调函数未定义)
- Javascript可以在chrome中使用,但不能在其他浏览器中使用
- Iframe加载调整大小在Chrome中工作,但不能在IE或Firefox中工作
- Rails Production-可以工作,但不能编辑/删除/创建记录
- 能够在Highcharts中看到值,但不能看到图形
- Django,HTML,JS:<img src=“#">可以在HTML中工作,但不能在JS文件中工作
- 通过Javascript SDK登录Facebook可以在移动设备和本地主机上使用,但不能在台式机上使用
- jQuery/Javascript函数可以在Chrome中使用,但不能在IE11中使用
- jquery html更新可以在电脑上使用,但不能在智能手机上使用
- 地理定位可以在网络浏览器上工作,但不能在android手机浏览器上工作
- 引导3:手机导航可以在桌面打开,但不能在iPhone上打开