rangy - 如何处理iframe中的内容

时间:2012-07-26 16:41:49

标签: javascript iframe rangy

我需要你关于rangy库的帮助。

如何在iframe选择的内容中应用rangy,我无法理解((

我的页面中的此代码使用所有iframe内容创建红色粗体选择,但我需要将其应用于仅用户选择

var cssApplier;
$("#ok_button").click(function()
{
    var iframe = document.getElementById("iframe_id");
    var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
    var range = rangy.createRange(iframeDoc);
    cssApplier.applyToRange(range);
});


$("iframe#iframe_id").load(function()
{
         rangy.init();
    cssApplier = rangy.createCssClassApplier("boldRed", {normalize: true});
});

1 个答案:

答案 0 :(得分:3)

您需要从iframe中获取选择。方法如下:

var cssApplier;
$("#ok_button").click(function()
{
    var iframe = document.getElementById("iframe_id");
    var iframeWin = rangy.dom.getIframeWindow(iframe);
    cssApplier.applyToSelection(iframeWin);

    // In Rangy 1.3, you can pass the iframe object directly into
    // applyToSelection so the previous two lines become:
    // cssApplier.applyToSelection(iframe);
});


$("iframe#iframe_id").load(function()
{
         rangy.init();
    cssApplier = rangy.createCssClassApplier("boldRed", {normalize: true});
});