来自iframe的Spreadjs引用

时间:2015-10-28 16:09:52

标签: spreadjs

我们在父页面中使用iframe,它会被其他页面动态替换。

Spread在父级中加载。是否有某种类型的插件可以让我从iframe页面访问父元素中加载的传播核心而不在多个子(iframe)页面中包含spread(language="JavaScript" src="http://cdn.wijmo.com/spreadjs/gcspread.sheets.all.8.40.20151.0.min.js")? Jquery加载正常。

带引用的主页iframe

<iframe name="mainWindow" src="includes/View.asp frameborder="0" />
<link href="http://cdn.wijmo.com/spreadjs/gcspread.sheets.8.40.20151.0.css" rel="stylesheet" type="text/css" />
<script src="http://code.jquery.com/jquery-1.8.2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="http://cdn.wijmo.com/spreadjs/gcspread.sheets.all.8.40.20151.0.min.js"></script>

我们只是在运行时替换iframe源代码。 我使用下面的代码,但传播没有初始化任何建议?

&#13;
&#13;
<script type="text/javascript">
        var parentWindow = window.parent;// This refers to parent's window object
        if (parentWindow && parentWindow.jQuery) { // Check to see if parentWindow and parentWindow.jQuery is truly
            window.jQuery = parentWindow.jQuery;
            window.$ = parentWindow.jQuery;
        }
        else {
            var jScript = document.createElement('script');
            jScript.setAttribute("type", "text/javascript");
            jScript.setAttribute("src", "http://code.jquery.com/jquery-1.8.2.min.js"); // load jQuery here
        }

        if (parentWindow && parentWindow.wijmo && parentWindow.GcSpread) { // Check to see if parentWindow and parentWindow.wijmo and parentWindow.GcSpread is truly
            window.GcSpread = parentWindow.GcSpread;
            window.wijmo = parentWindow.wijmo;
        }
        else {
            var jScript = document.createElement('script');
            jScript.setAttribute("type", "text/javascript");
            jScript.setAttribute("src", "http://cdn.wijmo.com/spreadjs/gcspread.sheets.all.8.40.20151.0.min.js"); // load gcspread here

        }

        $(document).ready(function () {
            var test = window;
            alert("JQuery loaded");
            var spread = new GcSpread.Sheets.Spread(document.getElementById("ss"));
            var spreadNS = GcSpread.Sheets;
            spread.setSheetCount(3);

            spread.bind(spreadNS.Events.ActiveSheetChanged, function (e, args) {
                $("#activeSheetIndex").val(spread.getActiveSheetIndex());
            });

            $("#btnAddSheet").click(function () {
                spread.addSheet(spread.getSheetCount());
            });

            $("#btnRemoveSheet").click(function () {
                var activeIndex = spread.getActiveSheetIndex();
                if (activeIndex >= 0) {
                    spread.removeSheet(activeIndex);
                }
            });

            $("#btnClearSheets").click(function () {
                spread.clearSheets();
            });

            $("#btnSetActiveSheetIndex").click(function () {
                var index = $("#activeSheetIndex").val();
                if (!isNaN(index)) {
                    index = parseInt(index);
                    if (0 <= index && index < spread.getSheetCount()) {
                        spread.setActiveSheetIndex(index);
                    }
                }
            });
        });
    </script>
&#13;
<div class="sample-turtorial">
        <div id="ss" style="width:100%; height:580px;border: 1px solid gray;"></div>
        <div class="demo-options">
            <div class="option-row">
                <input type="button" style="width: 100px" value="Add Sheet" id="btnAddSheet" />
                <input type="button" style="width: 100px" value="Remove Sheet" id="btnRemoveSheet" />
                <input type="button" style="width: 100px" value="Clear Sheets" id="btnClearSheets" />
            </div>
            <div class="option-row">
                <label>ActiveSheetIndex:</label>
                <input type="text" id="activeSheetIndex" value="0" />
                <input type="button" id="btnSetActiveSheetIndex" value="Set" />
            </div>
        </div>

        
    </div>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

我不会想到你正在尝试工作的东西,代码如何在没有引用库(SpreadJS)的情况下执行。

您可以解释一下您的用例,也许我们可以帮您找到完成您所需要的不同方式。