-2

これは、 CAPTCHAと、CAPTCHA が正しいかどうかを送信して確認し、ID を取得して何らかの情報を要求するフォームを持つ通常の Web サイトです。

私はこのサイトにアクセスできません。それは私のものではありません。情報を得るために必要なのですが、サイトのデザインが良くないので、視覚的に見やすいようにサイトのデザインを変更したいと考えています。

私はこれを行うことができますか?

PHP cUrl と jQuery $ajax をクロスドメイン true で使用してみましたが、2 つのアクセスが拒否されました。

重要: Firebugとまったく同じように、ページ レイアウトを一時的に変更したいのですが、更新するとクライアント側であるため失われます。

何かのようなもの:

javascript:changeContent();

出来ますか?

4

2 に答える 2

0

できません。iFrame を使用してサイトを含めることができます。しかし、ただ更新できるわけではありません。できれば、他のすべてのサイトでも可能です。つまり、Facebook のようなサイトにアクセスして、物事を変えることができます。

iFrame の DOM にアクセスします。

var iframe = document.getElementById('myframe'); // The id of the iFrame
var iFrame = iframe.contentWindow || iframe.contentDocument;
if (iFrame.document) { // DOM can be accessed
    iFrame = iFrame.document;
    iFrame.body.style.backgroundColor = "blue"; // Example
} else {
    // DOM can't be accessed in this browser.
}

忘れてた。ドメインにない限り、iFrame の DOM にアクセスすることはできません。cross-site scriptingは一切許可されていません。結論:これは不可能です。

于 2013-07-17T19:30:19.737 に答える
-1

はい、可能です。これを行うための解決策を見つけました。

あなたが考えるのは簡単です。HTML要素の「識別子」を取得することにより、サイト要素全体、スタイル、幅、高さなどをすべて変更するJavaScriptネイティブスクリプトを作成しました。

私のコード:

javascript:function z(a,b,c,d,e,f,g){x=document.getElementsByTagName(a);
if(b!=null)x=x[b].getElementsByTagName(c);if(d!=null)x=x[d].getElementsByTagName(e);if(f!=null)x=x[f].getElementsByTagName(g);return x;}
function i(v){return document.getElementById(v).style;}
b=document.body.style;
b.backgroundColor="#f3f3f3";
b.margin="13% auto";
b.width="400px";
b.height="160px";
b.border="1px solid #CCCCCC";
b.padding="10px";
z("label")[0].style.fontFamily="Segoe UI";
z("label")[0].style.fontSize="13px";
z("label")[0].style.padding="0px 0px 10px 0px";
z("table")[0].style.display = "none";
z("hr")[0].style.display = "none";
z("p")[0].style.display = "none";
z("p")[1].style.display = "none";
z("p")[2].style.display = "none";
z("td")[1].style.display = "none";
document.getElementsByName("opcao")[0].style.display = "none";
i("submit1").float = "left";
z("label")[0].style.float = "left";
z("label")[0].style.display = "block";
z("td")[4].style.float = "left";
z("font")[6].face = "Segoe UI";
z("td")[4].style.display = "block";
z("td")[4].style.width = "250px";
z("td")[3].style.float = "left";
z("td")[3].style.width = "300px";
document.getElementsByName("captcha")[0].style.float = "left";
document.getElementsByName("captcha")[0].style.width = "140px";
z("td")[4].style.float = "left";
document.getElementById("submit1").value = "Insert Data";
k=i("submit1");
k.color="#fff";
k.backgroundColor="#FFAF19";
k.border="1px solid #CCCCCC";
k.height="34px";
k.width="165px";

たぶん、あなたは次のことについて不平を言っています:

それらの文字は何ですか?? コードが 1 文字の変数を使用するのはなぜですか? 返信:ブラウザーのアドレス バーに貼り付ける文字サイズが約 2000 文字に制限されているためです。

たとえば、Simplyfing を使用しました。

document.getElementsByTagName('tag').getElementsByTagName('tag')[x];

//Like, for example:
document.getElementsByTagName('div')[0].getElementsByTagName('span')[0];
//The first span of the first div.

続いて、要素を見つけて変更するためにそれを行いました。そして、より少ない文字数でそれを行う関数を作成しました。

そのため、コードが非常に理解しにくいのです。

次に、任意のブラウザのアドレス バーでこのコードを実行したところ、見事に機能しました。

于 2013-08-08T12:22:58.610 に答える