首页 文章

在javascript加载小部件时将数据发布到iframe

提问于
浏览
1

我有一个小小部件,有很多可定制的选项 . 该小部件当前由javascript创建iframe的组合检索,iframe包含一堆javascript和jquery来构建页面 .

我不能将冲突的javascript的复杂性添加到嵌入页面,这就是为什么我构建一个iframe,并在其中运行小部件 .

但是,我有点担心变量的长度可能太长,并且可能在“Get”中失败 .

有没有办法用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>');

这只是在本地运行,所以我无法向您显示链接 .

有没有一个很好的干净方式让我通过post或其他方法将变量发送到php页面,这比仅仅将查询附加到src字符串更好?

1 回答

  • 2
    • 使用POST的跨域XMLHttpRequest(要求请求的站点发送适当的 Access-Control-Allow-Origin 标头)

    • 使用POST创建表单并使用JavaScript提交 . 对于每个参数,请创建 <input type="hidden"/> 元素 .

相关问题