相关疑难解决方法(0)

根据内容调整iframe大小

我正在开发类似iGoogle的应用程序.来自其他应用程序(在其他域上)的内容使用iframe显示.

如何调整iframe的大小以适应iframe内容的高度?

我试图破译谷歌使用的javascript,但是它被混淆了,到目前为止搜索网络已经没有结果.

更新:请注意,内容是从其他域加载的,因此适用同源策略.

javascript iframe widget

496
推荐指数
6
解决办法
31万
查看次数

全屏iframe,高度为100%

所有浏览器都支持iframe height = 100%吗?

我使用doctype作为:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)

在我的iframe代码中,如果我说:

<iframe src="xyz.pdf" width="100%" height="100%" />
Run Code Online (Sandbox Code Playgroud)

我的意思是它实际上会占用剩余页面的高度(因为顶部有另一个框架,固定高度为50px)所有主流浏览器(IE/Firefox/Safari)都支持这种格式吗?

关于滚动条,即使我说scrolling="no",我可以在Firefox中看到禁用的滚动条...如何完全隐藏滚动条并自动设置iframe高度?

html javascript css iframe html-frames

227
推荐指数
10
解决办法
70万
查看次数

跨域iframe问题

比方说我有一个名为example.com的网站,iframe嵌入了iframe.net域,现在我想读取iframe的内容并传递一些参数来显示文本消息.喜欢你用户名.

现在问题是这个无法在两者之间建立连接,甚至无法获得我使用的iframe的innerHTML

document.getElementById('myframe').contentWindow.document.body.innerHTML;
Run Code Online (Sandbox Code Playgroud)

它抛出错误"权限被拒绝访问属性"

有谁知道如何在跨域平台上读写

html javascript jquery html5 mootools

42
推荐指数
2
解决办法
6万
查看次数

Google文档 - 实时访问文本更改

目标

我们的用户使用Google文档.他们写的文字将在他们使用文字转语音键入时读给他们.它应该在尽可能多的平台和浏览器中工作.

我们的方案

这似乎适合Google Apps脚本,适用于所有桌面浏览器和某些移动浏览器.

这有效

我们有一个文本转语音模块,效果很好,所以没问题.我们目前正在使用侧边栏.侧边栏可以使用HTML 5音频标签播放音频,无需任何问题.

问题

问题实际上是从Google文档文档中获取文本.到目前为止,我还没有找到任何方法直接从侧边栏访问Google文档文本.我们一直在做的是:

  1. 补充工具栏每隔x毫秒轮询我们在Google云上运行的Google Apps脚本
  2. 然后,我们在Google云上运行的Google Apps脚本会访问云中的同步文档
  3. 如果发现任何更改,则会将其发送回补充工具栏
  4. 边栏使用HTML5音频标签和我们的文字转语音播放音频.

在此输入图像描述

从用户在谷歌文档中输入文本到将更改同步到谷歌文档云时,需要一秒或更长时间.

我们计划了不同的步骤.文本转语音很快,HTML5音频也没问题.

时间片是获得文本的变化.它目前需要1-3秒,这对我们的用例来说太长了.

我们可以更快地访问Google文档中的文字吗?也许直接而不是通过谷歌的云?

更新2017-02-15 目前看来它是不可能的.可以通过Chrome扩展程序执行此操作,它会解析Google文档主页并从HTML + JS中提取文本.这很难,但......可能.

javascript google-docs google-apps-script google-drive-realtime-api

30
推荐指数
1
解决办法
857
查看次数

显示嵌入谷歌文档的完整文档长度

如何在 iframe 上没有滚动条的情况下显示嵌入式 google 文档的完整长度?

<html>
<style>
    body { margin: 0; padding: 0; o}
    iframe { margin-left: 2vw; margin-top: 2vh; height: 100%; width: 90vw; }

</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<body>

<iframe srcdoc="" frameborder="0" scrolling="no" height="100%"></iframe>

    <script>
        $(function() {
            $.get("https://docs.google.com/document/d/17OkIgtNdV1flno_783tJm2xWU0NBh7uEmZ5wEXP2E9g/pub?embedded=true", function(html) {
                var contents = $("iframe").contents();

                contents.find("html").html(html);

                setTimeout(function() {
                    contents.find('a[href^="http://"]').attr("target", "_blank");
                    contents.find('a[href^="https://"]').attr("target", "_blank");
                }, 1000); // Actually not sure if timeout is required here...
            });
        });
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

显示屏可能会显示一页半的文本并停止。

html javascript google-docs

2
推荐指数
1
解决办法
3986
查看次数