仅替换 iframe 的编码字符 Jquery
Replace encoded characters for iframes only Jquery
我正在使用的CMS中的所见即所得编辑器正在剥离iframe代码,以便此代码
<p><iframe src="http://www.example.com" frameborder="0" width="300" height="300" scrolling="no"></iframe></p>
加载到页面上时如下所示
<p><iframe src="http://www.example.com" frameborder="0" width="300" height="300" scrolling="no"></iframe></p>
我使用此代码修复了它。
$('p').each(function () {
var $this = $(this);
var tt = $this.text();
$this.html(tt.replace('<', '<').replace('>', '>'));
});
但是,如果我在页面上还有其他标签,例如
<p><strong>Strong text </strong></p>
这也被剥离出来看起来像
<p>Strong text </p>
如何使此更改仅应用于 iframe?
我尝试过这样的东西,但没有用。
$this.html(tt.replace('<iframe', '<iframe').replace('></iframe>', '</iframe>'));
我最终通过使用 :contains eg 来让它工作
$('p:contains("iframe")').each(function () {
var $this = $(this);
var tt = $this.text();
$this.html(tt.replace('<', '<').replace('>', '>'));
});
不是最好的解决方案,但这适用于网站所追求的内容。
好的,首先,尝试找到更改RTE设置的位置。这是一个常见问题,您应该能够控制允许哪些标签。
如果你真的想用jQuery破解它,你可以创建你的模式,例如:
<p class="iframeMe" data-src="http://iframe-source" data-width="500" data-height="500"> Iframe will appear here </p>
$('.iframeMe').each(function () {
var $this = $(this);
var $iframe = $('<iframe />').attr('src', $this.data('src')).attr('width', $this.data('width')).attr('height', $this.data('height'));
$this.append($iframe);
});
试试这个选择器:
$('iframe').each(function () {
var $this = $(this).parent(); // get its parent
var tt = $this.text();
$this.html(tt.replace('<', '<').replace('>', '>'));
});
相关文章:
- 仅替换 iframe 的编码字符 Jquery
- 编码风格-jQuery与jslint.com
- HTML 在客户端对输入类型文本(文本框)的内容进行编码(使用 Jquery 等)
- 如何在输出到 html 之前停止 asp.net 编码字符
- 将内联硬编码的 jQuery 函数传输到变量
- 如何仅验证文本、英文字符和非英文字符 jquery validater
- 正在解码HTML十进制编码字符
- 如何删除span中的连字符?(jQuery)
- 不允许使用特殊字符jQuery
- 限制键入无效字符-jquery validate
- 删除下一个字符jQuery(没有给出html元素)
- 将字符串从字符jquery的第n个词根拆分为两个子字符串
- 将特殊字符转换为Html编码字符
- 如何验证字符串仅为非字母字符jquery验证
- 限制用户编辑字符后的特殊字符- Jquery
- 在Node.js中解码URL编码字符
- Ipad/mobile和html编码的Jquery URL链接
- 使用PHP在javascript中为mailto编码字符
- 从数组中获取硬编码的jquery选择器并隐藏它
- 编码字符破坏IE8上的Knockout js数据绑定