我正在尝试在调试模式下使用chartjs
和jquery
在iOS webview中显示图形,无论是本地还是从CDN服务js,webview都可以正常工作,但是在发行版中却不能完全可以。
我也尝试过将jquery和chartjs代码直接复制粘贴到script
标签中,但仍然只能看到白屏。
在调试时,我也尝试使用window.postMessage,但我怀疑它也无法正常工作,因为我没有在Xcode中看到日志。我也曾尝试使用react-native issue 10865
中提到的window.postMessage修补版本这是准系统html代码:
<html>
<head>
<style>
.chart-container {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.js"></script>
<div class="chart-container">
<canvas id="chart"></canvas>
</div>
<script>
var ctx = $("#chart")[0].getContext("2d");
var chart = undefined;
var stroke = '#06d092';
chart = new Chart(ctx, {
type: 'line',
scaleSteps: 4,
data: {
datasets: [{
label: 'Price',
data: []
}]
}
});
document.addEventListener('message', function (e) {
var graphData = JSON.parse(e.data);
chart.data.datasets[0].data = graphData;
chart.update({
duration: 0
});
});
</script>
</body>
</html>
但是相同的代码在调试模式下可以正常工作。