0

ユーザーが URL を入力できるプラットフォームを開発したいと考えていますiframe。これで、ユーザーは右クリックするだけで自分の Web サイトを変更できます。「この要素を削除する」、「この要素をコピーする」などのオプションを提供します。私はほとんど終わりました。多くの Web サイトは完全に開いていますがiframe、一部の Web サイトではいくつかのエラーが表示されています。原因が特定できませんでしたので、ご協力をお願いします。

XSSの問題などの他の問題を解決しました。
私が従った手順は次のとおりです:-
JavaScript を使用してリクエストを Java サーバーに送信し、Java サーバーはユーザーが指定した URL に接続して HTML を取得し、Jsoup HTML パーサーを使用して相対 URL を絶対 URL に変換し、保存します。 HTML を Java でディスクに。次に、保存した HTML を自分の .xml にレンダリングしますiframe

どこか間違っていますか?
いくつかの Web サイトは完全に機能していますが、そうでないものもあります。

例:- http://www.snapdeal.com
を開こうとすると、 エラーが発生しました。なぜこれが起こっているのか理解できません..Uncaught TypeError: Cannot read property 'paddingTop' of undefined

更新 これがどのように実装されているのだろうか?@ http://www.proxywebsites.in/browse.php?u=Oi8vd3d3LnNuYXBkZWFsLmNvbQ%3D%3D&b=13&f=noreferr

4

3 に答える 3

1

2 号、お好きな方をお選びください。

  • サーバー側のプロキシ コードにバグが含まれています
  • 多くのサイトには明示的なフレーム ブレーク コードが含まれているか、少なくともトップ レベルのフレームであることを期待しています。
于 2012-04-14T06:28:30.460 に答える
0

もう 1 つ試すことができます。プロキシ スクリプトでは、Web ページをディスクに保存してから iframe に読み込みます。ディスクに保存したページをiframeでロードする代わりに、そのページをブラウザで開いてみてください。ページを iframe にロードするように再設定したサイトはすべて、エラーなしで開かれるようになりました。これを試してください私はそれが仕事だと思います

于 2012-04-15T08:47:41.103 に答える
0

私のプロキシサーバー側のコード:-

DateFormat df = new SimpleDateFormat("ddMMyyyyHHmmss");
    String dirName = df.format(new Date());

    String dirPath = "C:/apache-tomcat-7.0.23/webapps/offlineWeb/" + dirName;
    String serverName = "http://localhost:8080/offlineWeb/" + dirName;

    boolean directoryCreated = new File(dirPath).mkdir();
    if (!directoryCreated) 
        log.error("Error in creating directory");

    String html = Jsoup.connect(url.toString()).get().html();
    doc = Jsoup.parse(html, url);

    links = doc.select("link");
    scripts = doc.select("script");    
    images = doc.select("img");

for (Element element : links) {
        String linkHref = element.attr("abs:href");
        if (linkHref != "") {
            element.attr("href", linkHref);
        }
}

for (Element element : scripts) {
    String scriptSrc = element.attr("abs:src");
    if (scriptSrc != "") {
        element.attr("src", scriptSrc);
    }
}

for (Element element : images) {
    String imgSrc = element.attr("abs:src");
        if (imgSrc != "") {
            element.attr("src", imgSrc);
            log.info(imgSrc);
        }
}

そして今、私はhtmlファイルを保存したパスを返すだけです.それは私のサーバーコードについてです.

于 2012-04-14T06:34:36.423 に答える