从其索引值中突出显示特定文本
Highlight the particular text from it's index value
我尝试在我的网站上实现文本到语音的搜索。
我试图做的是突出显示它所说的文本。
这是我的代码
this.utterThis.onboundary=function(event){
if(event.name=='word'){
this.progress_index=event.charIndex;
console.log(textcontent.charAt(this.progress_index))
}
在控制台日志中,returns
是第一个词的索引值。
它表明所有 p
标签文本都在 textcontent
变量中。
var textcontent = (<HTMLIFrameElement>document.getElementById("description")).contentWindow.document.body.innerHTML;
所以我真正想要的是突出显示它使用索引值说出的文本。
注:event.namereturnsword
。
提前致谢。
试试看
var event = {
name: 'highlightText',
charIndex: 18
};
var text = 'lorem ipsum dolar highlightText sit amet';
var html = text.substring(0, event.charIndex)
+ '<span class="highlight">' + event.name + '</span>'
+ text.substring(event.charIndex + event.name.length, text.length);
document.body.innerHTML = html;
.highlight {
background: yellow;
}
我解决了
this.utterThis.onboundary = function (event) {
if (event.name == 'word') {
this.progress_index = event.charIndex;
this.remainingword = this.utterThis.text.substring(this.progress_index, this.utterThis.text.indexOf(" "));
var html:string = this.utterThis.text.substring(this.progress_index, this.utterThis.text.indexOf(" ")).fontcolor("blue") + this.utterThis.text.substring(this.remainingword.length + 4);
console.log(html);
(<HTMLIFrameElement>document.getElementById("description")).contentWindow.document.body.innerHTML = html;
}
}.bind(this)
我尝试在我的网站上实现文本到语音的搜索。
我试图做的是突出显示它所说的文本。
这是我的代码
this.utterThis.onboundary=function(event){
if(event.name=='word'){
this.progress_index=event.charIndex;
console.log(textcontent.charAt(this.progress_index))
}
在控制台日志中,returns
是第一个词的索引值。
它表明所有 p
标签文本都在 textcontent
变量中。
var textcontent = (<HTMLIFrameElement>document.getElementById("description")).contentWindow.document.body.innerHTML;
所以我真正想要的是突出显示它使用索引值说出的文本。
注:event.namereturnsword
。
提前致谢。
试试看
var event = {
name: 'highlightText',
charIndex: 18
};
var text = 'lorem ipsum dolar highlightText sit amet';
var html = text.substring(0, event.charIndex)
+ '<span class="highlight">' + event.name + '</span>'
+ text.substring(event.charIndex + event.name.length, text.length);
document.body.innerHTML = html;
.highlight {
background: yellow;
}
我解决了
this.utterThis.onboundary = function (event) {
if (event.name == 'word') {
this.progress_index = event.charIndex;
this.remainingword = this.utterThis.text.substring(this.progress_index, this.utterThis.text.indexOf(" "));
var html:string = this.utterThis.text.substring(this.progress_index, this.utterThis.text.indexOf(" ")).fontcolor("blue") + this.utterThis.text.substring(this.remainingword.length + 4);
console.log(html);
(<HTMLIFrameElement>document.getElementById("description")).contentWindow.document.body.innerHTML = html;
}
}.bind(this)