シルバーのクロスドメインrestricitionsは、回避策を実装するために多くの開発者を引き起こします。戻るHTMLページを表示する必要がある場合、これはSilverlight 4(WebBrowser)コントロールを調べる必要がありますが、これはブラウザ外モードを実行している場合にのみ有効です。
あなたがコンテンツを解析する必要がある場合は、次のいくつか試すことができます:マネージコードソリューションについて
をすでに実装したプロキシサービスは、あなたの最良の選択肢です。
この情報を返すJavaアプレットを作成します。 SilverlightはJavaアプレットに組み込むことができるjavascriptに組み込むことができます。これは逆に動作しますが、設定するのは少し難しいです。 (これについてもっと知りたい場合は、私に知らせてください)。
javascript XmlHttpRequestを使用して、ソースから必要なデータを取得します。これは、複数のブラウザをサポートする場合、難しい場合があります。このリンクは、これを行う方法の例を示しています(下にスクロールする必要があります)。 Javascript get Html
コード:
var xmlHttpRequestHandler = new Object();
var requestObject;
xmlHttpRequestHandler.createXmlHttpRequest = function(){
var XmlHttpRequestObject;
if(typeof XMLHttpRequest != "undefined")
{
XmlHttpRequestObject = new XMLHttpRequest();
}
else if(window.ActiveXObject)
{
var tryPossibleVersions =["MSXML2.XMLHttp.5.0", "MSXML2.XMLHttp.4.0", "MSXML2.XMLHttp.3.0", "MSXML2.XMLHttp","Microsoft.XMLHttp"];
for(i=0;i<tryPossibleVersions.length;i++)
{
try
{
XmlHttpRequestObject = new ActiveXObject(tryPossibleVersions[i]);
break;
}
catch(xmlHttpRequestObjectError)
{
// Ignore Exception
}
}
}
return XmlHttpRequestObject;}
function getHtml(){
var url = document.getElementById('url').value;
if(url.length > 0)
{
requestObject = xmlHttpRequestHandler.createXmlHttpRequest();
requestObject.onreadystatechange=onReadyStateChangeResponse;
requestObject.open("Get",url, true);
requestObject.send(null);
}}
function onReadyStateChangeResponse(){
var ready, status;
try
{
ready = requestObject.readyState;
status = requestObject.status;
}
catch(e) {}
if(ready == 4 && status == 200)
{
alert(requestObject.responseText);
}}