【问题标题】:Change the selected text on iframe cross browsers更改 iframe 跨浏览器上的选定文本
【发布时间】:2012-04-07 12:31:51
【问题描述】:

如何通过 js 更改可编辑 iframe 上的选定文本?

【问题讨论】:

    标签: javascript text replace selection


    【解决方案1】:

    您必须在要加载到 iframe 的页面上包含一些 Javascript。如果您要求的是,您不能从“外部”做到这一点。

    但是,如果您从同一个域加载 iframe,则可以在 iframe 中已经存在的 Javascript 上调用函数。但是,如果您从另一个域加载 iframe,则会遇到 same-origin policy

    如果您对动态填充 iframe 感兴趣,您可能会对以下内容感兴趣:

    var iframe = createIframe('iframe0', 300, 300);
    if (iframe) {
        var iframeDoc;
        if (iframe.contentDocument) {
            iframeDoc = iframe.contentDocument;
        }
        else if (iframe.contentWindow) {
            iframeDoc = iframe.contentWindow.document;
        }
        else if (window.frames[iframe.name]) {
            iframeDoc = window.frames[iframe.name].document;
        }
        if (iframeDoc) {
            iframeDoc.open();
            iframeDoc.write('<html><body><p>Awesomeness for all.<\/p><\/body><\/html>');
            iframeDoc.close();
        }
    }​
    

    (借自here

    关于这类事情有很多东西。这是一个相当复杂的话题,很难给出一个好的答案。我建议尝试自己编写编辑器,然后在遇到任何问题时返回这里。这样,您可以提供一个特定的问题,该特定的解决方案是可能的。祝你好运!

    【讨论】:

    • iframe 没有“src”属性,他可以编辑(我正在制作编辑器)
    • 除非您出于学习目的制作编辑器,否则我建议您使用 TinyMCE。但是,编辑了我的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 2010-09-05
    • 1970-01-01
    • 2013-02-12
    • 2011-06-21
    • 1970-01-01
    相关资源
    最近更新 更多