0

私の状況はこれです:私は別のhtmlページのフォームからテキストを書くことができました。しかし、私がやりたかったのは、その形式のテキストのみを使用してリンクを作成することです。もともと私はjavascript、特にwidget.preferences(フォームで行われた変更を保存するための一種のメソッド)と「var」タグを使用しました:

<script>

addEventListener
(
'DOMContentLoaded',
function()
{

// get the var elements with an id and set their textContent to the corresponding  widget.preferences
    var vars = document.querySelectorAll( 'var[id]' );
    for( var i=0,element=null; element=vars[i++]; )
    {
        element.textContent = widget.preferences[ element.id ];
    }


},
false
);

</script>
</head>
<body>

<h1>Popup window</h1>
<p>Here is a list of preferences and their associated value:</p>
<ul>
    <li><var id="foo"></var>
    <li><var id="bar"></var>
    <li><var id="baz"></var>
    <li><var id="check"></var>
    <li><var id="group1"></var>
    <li><var id="myMultipleSelect"></var>
</ul>

</body>

しかし、冒頭で述べたように、私の目標は、他のページのフォームのテキストを使用してリンクを作成することです。フォームは次のとおりです。

<fieldset>
  <p>
    <input id="text1" name="foo" type="text"></input>
    <label for="text1">foo</label>
  </p>
  <p>
    <input id="text2" name="bar" type="text"></input>
    <label for="text2">bar</label>
  </p>
  <p>
    <input id="text3" name="baz" type="text"></input>
    <label for="text3">baz</label>
  </p>
</fieldset>
4

1 に答える 1

0

あなたの質問が正確に何であるかはわかりませんでしたが、javascriptを使用して他のページから情報を取得する場合、答えはajaxです。

この回答には重要な注意事項があります。これを行うには、ページとデータを取得しようとしているフォームのページが同じドメインにある必要があります。最新のブラウザにはXSS(クロスサイトスクリプティング)に対するセキュリティ対策が施されているため、それ以外の方法でその情報を取得することはできません。

フォームのコンテンツを取得するには、そのフォームを含むページに対してajaxリクエストを作成し、そのhtmlコンテンツをXMLとして解析します。次に、そのDOMをナビゲートするか、jQueryなどのフレームワークを使用して、リンクに必要な情報を抽出できます。

ajaxを初めて使用する場合は、http://www.w3schools.com/ajax/default.aspでw3cスクールのチュートリアルを試してください。

アクセスしようとしているWebページが別のドメインにある場合は、運が悪い可能性があります。マイクロソフトのXDRオブジェクトなど、フレンドリーなクロスサイトリクエストを作成するためのソリューションがいくつか提案されていますが、標準がないため、それを全面的に機能させるにはかなりの作業が必要になります(可能であれば)。 。

さらに、XSSに対する制限は、jsが現在実行されているブラウザーで行われるため、サーバー側の言語にアクセスできる場合は、ある種のハンドラーからの要求をページに「シャトル」できます。

于 2012-08-24T22:03:26.567 に答える