javascript - 在小部件的 javascript 加载上将数据发布到 iframe

标签 javascript iframe post widget

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

我无法将冲突的 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>');

这只是在本地运行,所以我不能给你一个链接。

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

最佳答案

  • 使用 POST 的跨域 XMLHttpRequest(要求被请求的站点发送适当的 Access-Control-Allow-Origin header )
  • 使用 POST 创建表单并使用 JavaScript 提交。对于每个参数,创建一个 <input type="hidden"/>元素。

关于javascript - 在小部件的 javascript 加载上将数据发布到 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1844011/

相关文章:

php - 是否可以将整个网站包装在 iframe 中?

html - iFrame中的YouTube视频仅在本地可见

javascript - 如何获取调用表单的按钮

javascript - 如何将此退出弹出窗口从 iframe 转换为重定向?

java - 如何使用 restTemplate Spring-mvc 发送 Multipart 表单数据

ios - NSURLConnection sendAsynchronousRequest 无法从闭包中获取变量

java - 构造 http POST 请求的问题

javascript - 在 JavaScript 中如何检查数组是否包含值?

javascript - Karma 不运行测试用例

javascript - Chart.js Bar Chart with a switch/radio button to group data/故障排除栏颜色