2009-12-04 26 views
1

我有一個小部件,其中有不少可定製的選項。該小部件目前通過javascript的組合創建一個iframe,而iframe包含一堆javascript和jquery來構建頁面。將數據發佈到JavaScript的小部件的JavaScript負載iframe

我不能添加發生衝突的JavaScript來嵌入網頁的複雜性,這就是爲什麼我建立一個iframe和運行中的小部件。

不過,我有點擔心的變量的長度可能過長,而且在「獲取」可能會失敗。

有沒有辦法用一個POST變量發送的iframe的src? 沒有提交表格。 iframe中的頁面是用php編寫的。

這裏是我的javascript如何目前建立的頁面。

 
<script type="text/javascript"> 
var myWidget_config = { 
     key: 'your api key', 
     start: 'a test', 
     backgroundImage: 'http://background image if the user wants one', 
     optionLink: 'http://optional link to the embeds site', 
     mainText: 'fff', 
     subText: '404040', 
     linkText: '0D1C5D', 
     showColor: '', 
     altBackColor:'', 
     BorderColor:'3667C1', 
     height: '400px', 
     width: '', 
     resultsPerPage: '3' 
        } 
</script> 
<script type="text/javascript" src="http://mysite/scripts/setWidget.js"></script> 

的「setWidget.js頁面看起來像這樣

 
var query=''; 
for(var key in myWidget_config) 
    query += '&'+key+'='+encodeURIComponent(myWidget_config[key]); 

    document.write("<iframe frameborder="0" src="http://localhost/widgets/module.php/?'+query+'" width="'+myWidget_config.width+'" height="'+myWidget_config.height+'" scrolling="no"></iframe>'); 

這只是在本地運行的,所以我不能告訴你一個鏈接。

有我一個乾淨的方式通過郵寄,或者將不僅僅是追加查詢到src字符串更好的其他方法發送變量到PHP頁面?

+0

引用此代碼http://stackoverflow.com/questions/42130600/i-frame-is-opening-in-new-tab-after-posting-form-data-to-it – 2017-02-09 07:40:43

回答

2
  • 使用POST跨域的XMLHttpRequest(需要所請求的網站發送適當的報頭Access-Control-Allow-Origin
  • 使用POST創建窗體並使用JavaScript提交。對於每個參數,創建一個<input type="hidden"/>元素。