2017-12-13 3 views
1

Ich entwickle nur office-plugin, die Daten (wie ReportID, Sitzungsdetails, die zum Laden von Daten vom Server verwendet werden) vom Starten der Anwendung benötigen.So senden Sie externe Daten an das OnlyOffice-Plugin

Struktur der Seite kommen wie:

Start-Seite (editor.aspx) - iframe 1 Last-Editor - - ifram 2 Last-Plugin

Hier i Daten zugreifen möchten von editor.aspx in iframe 2 (javascript)

Ich versuchte mit queryString wie window.parent.location.search aber es kann nur bis iframe 1 traverse, aber nicht main aspx seite. Da ich nicht kontrollieren kann, was in Iframe 1 geladen wird, hat es nicht funktioniert.

Auch ich versuchte mit Cookies und localStorage, aber keine ausgearbeitet.

Bitte führen ..

Antwort

1

Start-Seite (editor.aspx) - iframe 1 Last-Editor - - ifram 2 Plugin zu laden. Hier möchte ich den Zugriff auf Daten von editor.aspx in iframe 2 (Javascript)

Es gibt keine Möglichkeit, einen direkten Zugang zum iframe mit Editor zu bekommen, die einzige Möglichkeit, mit ihm zu arbeiten ist mit document server plugins

0

Ändern Sie die api.js Datei von onlyoffice server, um die Abfragezeichenfolge params an das Plugin weiterzuleiten, und dies funktionierte in etwa so.

function getQueryStringOfParentPage() { 
     var queryString = ""; 
     try { 
      queryString = window.parent.location.search.replace('?', ''); 
     } catch (e) { 
      console.log("getQueryStringOfParentPage::" + e.message); 
     } 
     return queryString; 
    } 


    function createIframe(config) { 
    var parentPageQueryString = getQueryStringOfParentPage(); 
     var iframe = document.createElement("iframe"); 

     iframe.src = getAppPath(config) + getAppParameters(config) + "&" + parentPageQueryString; 
     iframe.width = config.width; 
     iframe.height = config.height; 
     iframe.align = "top"; 
     iframe.frameBorder = 0; 
     iframe.name = "frameEditor"; 
     iframe.allowFullscreen = true; 
     iframe.setAttribute("allowfullscreen",""); // for IE11 
     iframe.setAttribute("onmousewheel",""); // for Safari on Mac 
     return iframe; 
    } 
Verwandte Themen