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> 

コンソールからエラーが発生しました 安全でない JavaScript が URL でフレームにアクセスしようとしています

それを修正することは可能ですか?

4

2 に答える 2

1

クロスドメインポリシーのため、直接実行することはできません。

ただし、最初に独自のサーバー(プロキシ)から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

create window 呼び出しにオプションを追加して、セキュリティをオフにします。

セキュリティを無効にする:true

例については、wiki ページを参照してください: https://github.com/appjs/appjs/wiki/app-object

この設定により、クロスドメイン ポリシーがオフになります。

于 2012-12-05T19:23:19.793 に答える