2

aspによって生成された製品リストがあります。htmlファイルに各製品の製品説明があります。

each html file is named: <product.id>.html<br/>
html file size is only 1-3 kb

htmlファイル内に<title>あり<meta name="description" content="..." />
、効率的な方法でこれらにアクセスして、次のように出力できるようにします。

document.write(<product.id>.html.title);<br/>
document.write(<product.id>.html.description);

説明ファイルを使用する個々の製品の実用的なソリューションがありますが、より効率的でシンプルなアプローチを見つけたいと考えています。できれば、30以上の非表示のiframeを避けたいと思います-グーグルは私が検索結果を改ざんして私のページをブラックリストに載せようとしていると思うかもしれません...

現在のコード:

<iframe src="myfile.html" id="product" style="display:none">&nbsp;</iframe>
<script type="text/javascript">
   document.getElementById('product').onload = function(){
   var d = window.frames[frame].document;
   var title = d.title : ' ';
   var keywords = d.getElementsByName('keywords')[0].getAttribute('content', 0) : ' ';
   var descript = d.getElementsByName('description')[0].getAttribute('content', 0) : ' ';
  }
</script>
4

3 に答える 3

1

ここで別のStackOverflowの質問で述べたように、次を使用できます。

document.title = "This is the new page title.";

そしてここを見ると私たちに与えられます:

document.getElementsByTagName('meta').content = "New content here";

また:

document.getElementsByTagName('meta').name = "NewName";

これらを使用すると、必要に応じてタグの読み取りと書き込みができるようになります。ここではいくつかの例のみを使用しましたが、確かにそれ以上です。

于 2012-11-22T11:13:55.553 に答える
0

AJAXを使用してファイルをロードできます。例(jQueryを使用):

$.get('myfile.html', function(data){
   var title = $(data).find('head title').text();
   var keywords = $(data).find('head meta[name="keywords"]').attr('content');
   var descript = $(data).find('head meta[name="description"]').attr('content');
});

ここに、jQuery.getの使用に関するjQueryドキュメントがあります。

于 2012-11-22T11:14:10.867 に答える
0

この解決策を見つけました:

<script>
  var xhr = $.ajax({ 
  type: "GET", 
  url: "/files/billeder/ecom/beskrivelser/<!--@Ecom:Group.Number-->.html", 
  success: function(msg){
    msg = msg.split('content="')[1];
    msg = msg.split('"')[0];
    document.getElementById("a_<!--@Ecom:Group.Number-->").innerHTML = "<p>" + msg + "</p>";

まだあまりエレガントではありません...しかしそれは機能します...

于 2012-11-23T09:35:38.923 に答える