gpt4 book ai didi

javascript - 使用 javascript/Jquery 在 iframe 中突出显示单词或句子

转载 作者:行者123 更新时间:2023-12-03 03:13:51 24 4
gpt4 key购买 nike

我正在尝试更改 iframe 标记中单词的背景颜色。我可以搜索这个词,但不知道如何改变颜色。这是我的代码。

$(document).ready(function () {
$('#content').contents().find('head').append($("<style type='text/css'> .red{color:red;}</style>"));
var cont = document.getElementById('content').contentWindow.document.body.innerHTML;

if($("#content").contents().text().search("SEARCH WORD")!=-1){
console.log("Found");
//<span class="red"> SEARCH WORD </span>
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div style="padding-left: 0px;" class="col-sm-8 text-center">
<iframe id="content" ng-src="http://locahost:8888/public/textfiles/sample.txt"
width="100%" height="500px" align="middle"></iframe>&emsp;
</div>

最佳答案

如上所述,CORS如果没有正确的 CORS 标题,将不允许您更改来自您无法控制的其他域的 iFrame。

如果您位于同一域中,您可以执行一些操作,例如查找该单词,更改它,然后用新代码替换 iframe 的内容。这是working fiddle和代码例如:

<iframe src="http://fiddle.jshell.net/_display/" id="myIframe"></iframe>
<script>
var searchWord = "error";
$(document).ready(function(){
$('#myIframe').ready(function(){
var $html = $($('#myIframe').contents().find('body').html());
if($html.contents().text().search(searchWord)!=-1){
console.log("Found");
var replaceWith = "<span style='color:red'>"+searchWord+"</span>"
var newHTML = $html.text().replace(searchWord, replaceWith);
$('#myIframe').contents().find('body').html(newHTML);
}
});
});
</script>

关于javascript - 使用 javascript/Jquery 在 iframe 中突出显示单词或句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46851093/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com