如何将外部HTML文件加载到Javascript文档对象中
How to load external HTML file into Javascript document object
我正在寻找类似于PHP的DOMDocument->loadHTMLFILE()的javascript方法,以便我可以解析外部html文件的内容并提取图像。现在我正在通过 ajax 来做,这太慢了。
这是我用来抓取图像的 PHP,它可以工作。我只是想做同样的事情,但浏览器端这样它更快。
if(isset($_POST['link']) && $_POST['link'] !== ""){
//extract relevant article info from link
$sourceArray = array();
$sizeArray = array();
$link = $_POST['link'];
//generate new DOMdoc
$article = new DOMDocument;
$article ->loadHTMLFile($link);
//get the largest image
$images = $article->getElementsByTagName("img");
foreach($images as $image){
$source = $image->getAttribute("src");
if(strpos($source, "http://") !== false){
$sizeProfile = getimagesize($source);
$imgArea = $sizeProfile[0] * $sizeProfile[1];
if($imgArea > 100){
array_push($sizeArray, $imgArea);
array_push($sourceArray, $source);
}
}
}
array_multisort($sizeArray, SORT_DESC, $sourceArray);
$sourceHTML = "";
$i = 0;
foreach($sourceArray as $source){
$id = 'image'.$i;
$sourceHTML .= '<img id="'.$id.'" class="notSelectedPicture" src="'.$source.'" onclick="toggleSelectedPicture('''.$id.''');" alt="alt">';
$i++;
}
echo $sourceHTML;
exit();
}
ajax 解决方案适用于此目的。作为一种客户端语言,JS似乎无法像PHP那样获取和解析外部html文件。为了减少加载时间,应该关注 ajax 发布到的 dom 解析代码的效率。
相关文章:
- 将事件发送到javascript文档的react本机模块是否正确
- 未定义Javascript文档
- 如何让 Eclipse 在 Javascript 文档中执行自动 javadoc 注释
- javascript文档.提交并非适用于所有浏览器
- Javascript文档.定位新窗口
- 在IE8中编写JavaScript文档
- 为什么所有 JavaScript 文档中的参数都是这样写的
- @internal react 代码中的 JavaScript 文档标签,是 jsdoc、闭包还是其他什么
- Javascript文档.write选择选项
- 从xmldocument创建javascript文档
- 以XSL输出Javascript文档.write
- javascript文档.write脚本
- JavaScript文档.getElementById(“id”)和元素id属性
- 如何将外部HTML文件加载到Javascript文档对象中
- Date.parse上的JavaScript文档
- JavaScript 文档就绪函数
- Javascript 文档结构 obj vs func.
- 在数组内的 javascript 文档中搜索值
- Safari 中的 JavaScript 文档文本区域问题
- 在 PHP 中使用邮件函数时正确转义 JavaScript 文档代码中的特殊字符