From 31efff933019c3990532ac76e6cd177e8206e949 Mon Sep 17 00:00:00 2001 From: nightcityblade Date: Wed, 15 Apr 2026 23:09:39 +0800 Subject: [PATCH] fix: render transcript text safely in browser extensions --- Audio-Transcription-Chrome/content.js | 18 +++++++++--------- Audio-Transcription-Firefox/content.js | 18 +++++++++--------- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Audio-Transcription-Chrome/content.js b/Audio-Transcription-Chrome/content.js index 00bed88..524807e 100644 --- a/Audio-Transcription-Chrome/content.js +++ b/Audio-Transcription-Chrome/content.js @@ -164,7 +164,7 @@ function get_lines(elem, line_height) { var divHeight = elem.offsetHeight; var lines = divHeight / line_height; - var original_text = elem.innerHTML; + var original_text = elem.textContent; var words = original_text.split(' '); var segments = []; @@ -174,7 +174,7 @@ function get_lines(elem, line_height) { for (var i = 0; i < words.length; i++) { segment += words[i] + ' '; - elem.innerHTML = segment; + elem.textContent = segment; divHeight = elem.offsetHeight; if ((divHeight / line_height) > current_lines) { @@ -188,7 +188,7 @@ function get_lines(elem, line_height) { var line_segment = segment.substring(segment_len, segment.length - 1) segments.push(line_segment); - elem.innerHTML = original_text; + elem.textContent = original_text; return segments; @@ -264,7 +264,7 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { var elem = document.getElementById('t3'); if (elem) { - elem.innerHTML = text; + elem.textContent = text; var line_height_style = getStyle('t3', 'line-height'); var line_height = parseInt(line_height_style.substring(0, line_height_style.length - 2)); @@ -274,25 +274,25 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { text_segments = []; text_segments = get_lines(elem, line_height); - elem.innerHTML = ''; + elem.textContent = ''; if (text_segments.length > 2) { for (var i = 0; i < 3; i++) { - document.getElementById('t' + i).innerHTML = text_segments[text_segments.length - 3 + i]; + document.getElementById('t' + i).textContent = text_segments[text_segments.length - 3 + i]; } } else { for (var i = 0; i < 3; i++) { - document.getElementById('t' + i).innerHTML = ''; + document.getElementById('t' + i).textContent = ''; } } if (text_segments.length <= 2) { for (var i = 0; i < text_segments.length; i++) { - document.getElementById('t' + i).innerHTML = text_segments[i]; + document.getElementById('t' + i).textContent = text_segments[i]; } } else { for (var i = 0; i < 3; i++) { - document.getElementById('t' + i).innerHTML = text_segments[text_segments.length - 3 + i]; + document.getElementById('t' + i).textContent = text_segments[text_segments.length - 3 + i]; } } diff --git a/Audio-Transcription-Firefox/content.js b/Audio-Transcription-Firefox/content.js index 6cd4e7c..bc8af82 100644 --- a/Audio-Transcription-Firefox/content.js +++ b/Audio-Transcription-Firefox/content.js @@ -286,7 +286,7 @@ function get_lines(elem, line_height) { var divHeight = elem.offsetHeight; var lines = divHeight / line_height; - var original_text = elem.innerHTML; + var original_text = elem.textContent; var words = original_text.split(' '); var segments = []; @@ -296,7 +296,7 @@ function get_lines(elem, line_height) { for (var i = 0; i < words.length; i++) { segment += words[i] + ' '; - elem.innerHTML = segment; + elem.textContent = segment; divHeight = elem.offsetHeight; if ((divHeight / line_height) > current_lines) { @@ -310,7 +310,7 @@ function get_lines(elem, line_height) { var line_segment = segment.substring(segment_len, segment.length - 1) segments.push(line_segment); - elem.innerHTML = original_text; + elem.textContent = original_text; return segments; @@ -392,7 +392,7 @@ browser.runtime.onMessage.addListener((request, sender, sendResponse) => { text = text.replace(/(\r\n|\n|\r)/gm, ""); var elem = document.getElementById('t3'); - elem.innerHTML = text; + elem.textContent = text; var line_height_style = getStyle('t3', 'line-height'); var line_height = parseInt(line_height_style.substring(0, line_height_style.length - 2)); @@ -402,25 +402,25 @@ browser.runtime.onMessage.addListener((request, sender, sendResponse) => { text_segments = []; text_segments = get_lines(elem, line_height); - elem.innerHTML = ''; + elem.textContent = ''; if (text_segments.length > 2) { for (var i = 0; i < 3; i++) { - document.getElementById('t' + i).innerHTML = text_segments[text_segments.length - 3 + i]; + document.getElementById('t' + i).textContent = text_segments[text_segments.length - 3 + i]; } } else { for (var i = 0; i < 3; i++) { - document.getElementById('t' + i).innerHTML = ''; + document.getElementById('t' + i).textContent = ''; } } if (text_segments.length <= 2) { for (var i = 0; i < text_segments.length; i++) { - document.getElementById('t' + i).innerHTML = text_segments[i]; + document.getElementById('t' + i).textContent = text_segments[i]; } } else { for (var i = 0; i < 3; i++) { - document.getElementById('t' + i).innerHTML = text_segments[text_segments.length - 3 + i]; + document.getElementById('t' + i).textContent = text_segments[text_segments.length - 3 + i]; } }