在开发者工具上,可以正常切割html,切割body,保留body以内的部分,再用rich-text富文本进行解析 即可显示,功能一切正常。
在手机上端就会报错,经调试发现 res.data是有值的,其为html的内容,数据类型是字符串,但是
var
imgus = imgu.split(
'body'
);
这一行代码, split() 函数实际上并没有执行,因为后面打印的split后面的内容imgus是只包含一个元素的数组,其值还是 之前的html数据 ,没有变。但是在我的小程序的其他界面也用到过split()函数,在手机体验版上运行 并没有任何问题。因此想咨询一下 这下什么问题?是不是微信小程序体验版的bug?
// pages/comment/newsDetail.js
const tip = require(
'../../utils/tip.js'
);
const api = require(
'../../utils/api.js'
);
var
WxParse = require(
'../../utils/wxParse/wxParse.js'
);
var
app = getApp()
Page({
/**
* 页面的初始数据
*/
data: {
nodes:
''
,
url:
''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad:
function
(options) {
console.log(
"测试11112222"
);
//console.log(app.globalData.newsUrl);
console.log(options.url);
let that =
this
;
that.setData({
url: options.url
})
this
.getNews();
},
//加载新闻
getNews:
function
() {
var
that =
this
;
console.log(
"22222222222222222222222222222"
);
console.log(app.globalData.newsUrl);
var
successCallBack =
function
(res) {
console.log(res);
if
(res.statusCode ==
'200'
) {
console.log(
"执行200"
);
console.log(res.data);
var
imgu = res.data;
var
imgus = imgu.split(
'body'
);
console.log(
'imgus'
+ imgus);
var
cutUrl = imgus[1];
console.log(cutUrl);
var
strFin = cutUrl.substr(1, cutUrl.length - 3);
//console.log('url' + '1111111');
that.setData({ nodes: cutUrl })
}
else
{
tip.Tips.error(res.data.rtnMsg);
}
};
api.getNews({
query: {
url: that.data.url,
no:
"116"
,
token: app.globalData.token
},
header: {
'content-type'
:
'application/json;charset=UTF-8'
},
method:
"POST"
,
appid:
this
,
successCallBack: successCallBack
});
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady:
function
() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow:
function
() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide:
function
() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload:
function
() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh:
function
() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom:
function
() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage:
function
() {
}
})
问题已经自己解决,是后端写html的时候默认是Unicode,改成UTF-8就可以了
手机预览开发版是否正常呢?麻烦提供下能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)