我有一个AJAX,它将转到div#container,如下所示
var loc={};
loc.script = document.createElement('script');
loc.script.type = 'text/javascript';
loc.script.src = "highcharts.js";
$("#container").prepend(loc.script);
但我一直在控制台上收到此警告:
主线程上的同步XMLHttpRequest因不推荐使用 它对最终用户的体验产生不利影响。如需更多帮助, 检查https://xhr.spec.whatwg.org/。
代码仍然按预期工作和运行,但我应该担心吗?重新编写上面的代码以删除警告的最佳方法是什么?
答案 0 :(得分:0)
ImageView iv = (ImageView) mRootview.findViewById(R.id.movie_poster);
try {
// Prepare "InterimPoster" jpeg file to be placeholder image
Bitmap bitmap = BitmapFactory.decodeStream(c.openFileInput("InterimPoster"));
Picasso.with(c).load("http://image.tmdb.org/t/p/w780" + mMovieInfo[2])
.placeholder(new BitmapDrawable(getResources(), bitmap))
.fit()
.centerCrop()
.noFade()
.into(iv);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
标记同步加载内容。当您使用外部引用创建<script>
元素时,主线程将一直等待它返回。
处理此问题的最佳方法是手动加载脚本并将其注入JS命名空间。 Jquery <script>
函数也是如此。它通过ajax获取脚本,评估脚本并将其添加到命名空间。脚本在DOM树中的位置并不重要,因为它不是可视元素。
getScript
Here是文档。