0

我正在制作一个桌面应用程序,我可以在其中使用 AppJS 过滤 iframe 内的一些特定 div。我有一个问题,我无法隐藏一些 div,有一个代码:

    <!DOCTYPE html>
<html>
<style>

</style>
<head>
<link type="text/css" rel="stylesheet" href="style.css" />
<script>
function resizeIframe(newHeight)
{
    document.getElementById('iframe1').style.height = parseInt(newHeight,10) + 10 + 'px';
}
</script>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.7.1.js"></script>



</head>
<body onload='parent.resizeIframe(document.body.scrollHeight)'>
<h1>hello world</h1>
<iframe name='iframe1' id="iframe1" src="http://www.example.com" frameborder="0" border="0" cellspacing="0" style="border-style: none;width: 100%; height: 100%;"></iframe>


<script>
$(function(){
            var f=$('#iframe1')
            f.load(function(){ 
                f.contents().find('div').hide(); 
            })



        })

</script>
</body>
</html> 

我从控制台收到错误 Unsafe JavaScript 尝试使用 URL 访问框架

有可能解决这个问题吗?

4

2 回答 2

1

由于Cross-Domain Policy,您无法直接执行此操作。

但是,您可以首先使用 php 脚本从您自己的服务器(代理)获取目标 url 的内容,然后在 javascript/jquery 中加载其内容。这只是一个小修复,并不适合您希望加载的所有类型的页面。

例如:

<iframe src="path_to_my_server_php_script/iframe.php?url=http://example.com"></iframe>

iframe.php 基本代码:{您也可以在这里设置标题或操作 html 代码}

<?php
    $url = $_GET['url'];
    $html = file_get_contents($url);
    echo $html;
?>
于 2012-11-08T08:25:23.867 回答
1

在创建窗口调用中添加一个选项以关闭安全性:

禁用安全性:真

有关示例,请参见 wiki 页面:https ://github.com/appjs/appjs/wiki/app-object

此设置应关闭跨域策略。

于 2012-12-05T19:23:19.793 回答