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

正如在另一个Stack Overflow question中提到的,您可以使用:

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 回答