通过Javascript显示HTML内容
我想知道,如何使用Javascript显示HTML内容,据我所知和搜索,这根本不可能做到 但是我发现了一个javascript代码,当URL参数中有通过Javascript显示HTML内容,javascript,html,Javascript,Html,我想知道,如何使用Javascript显示HTML内容,据我所知和搜索,这根本不可能做到 但是我发现了一个javascript代码,当URL参数中有frame时,它会显示HTML内容(而不是原始内容) 这是: -在这里您可以找到原始javascript代码 -这里显示的是HTML 这怎么可能?如何做到这一点?如果您查看这两个页面的源代码,就会发现它是不同的代码。带有frame参数的页面是HTML,另一个是JS。因此,服务器查找frame参数,如果存在,则为HTML页面提供服务,否则为JS页面提供
frame
时,它会显示HTML内容(而不是原始内容)
这是:
-在这里您可以找到原始javascript代码
-这里显示的是HTML
这怎么可能?如何做到这一点?如果您查看这两个页面的源代码,就会发现它是不同的代码。带有frame参数的页面是HTML,另一个是JS。因此,服务器查找frame参数,如果存在,则为HTML页面提供服务,否则为JS页面提供服务 试一试 这里的
frame
参数不存在(是带有s的帧),因此它为JS版本服务
试一试
http://otslist.eu/ratingWidget.js?frame=1515
此处即使值为1515,frame
参数也存在,因此它提供HTML版本
此外,如果您使用Firefox的“Live HTTP headers”插件,您将看到服务器对第一个url的响应是
内容类型:text/javascript
,对第二个url的响应是内容类型:text/html
您看到的javascript是服务器上的PHP脚本。使用某些浏览器/网络调试器工具检查HTTP响应:
HTTP/1.1 200 OK
Server nginx/0.7.67
Date Wed, 06 Jun 2012 11:50:44 GMT
Content-Type text/html
Connection keep-alive
X-Powered-By PHP/5.3.10
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma no-cache
Content-Encoding gzip
看看它是由PHP提供动力的。因此,它是PHP脚本的输出,而不是常规JavaScript文档
当忽略frame=1
时,PHP脚本输出一个JavScript。
当包含frame=1
时,它会告诉PHP脚本将JavaScript嵌入HTML页面并提供服务
更新:PHP脚本可能如下所示:
<?php
$asHTML = $_GET['frame'] == 1;
if($asHTML) {
// Generate HTTP headers for HTML, like
header("Content-Type", "text/html");
} else {
// Generate HTTP headers for the JavaScript, like
header("Content-Type", "text/javascript");
}
if($asHTML) {
// Generate HTML top document part
echo "<html><head><title>Title</title></head><body><script type=\"text/javascript\">";
// Other HTML header stuff here as well, see the live example (as I am too lazy to type it here)
}
// Read the JavaScript from a file that is available on the server
readfile("javascript.js");
if($asHTML) {
// Close HTML tags
echo "</script></body></html>";
}
我可能想不明白你的意思,但这似乎是一个非常基本的脚本。innerHTML属性可用于操作div中包含的内容,例如
document.getElementById("changeMyContent").innerHTML='<strong>New</strong> content';
document.getElementById(“changeMyContent”).innerHTML='Newcontent';
看一看,它们承载了一个实例。了解更多javascript…不可能使用javascript显示HTML吗?JavaScript的主要用途之一是操作DOM,即显示HTML。从JavaScript和DOM操作的基本指南开始。该代码使用jQuery来操作DOM,但您可以使用简单的JavaScript来操作。仔细阅读,您将能够自己理解该代码。您可能希望改进您的问题,因为您的实际问题似乎类似于“我在URL中看到了一个*.js扩展,但当我向URL添加frame=1
时,页面显示为HTML页面。这怎么可能?”我了解所有内容,但我只是想看看代码本身,它是如何工作的(js扩展文件被视为PHP文件)…好的,因为这并不太复杂,我快速键入了一些示例代码来说明如何实现。谢谢,但是我在问题中发布的脚本,怎么会有.js
扩展名?您提供的代码将不会在.js扩展文件中执行。在这种情况下,他们可能正在使用mod rewrite?脚本扩展实际上并不重要。只要服务器使用PHP解析它。那么我如何使用PHP解析js扩展?我了解所有内容,但我只想看看代码本身,它是如何工作的(js扩展文件被视为PHP文件)…我了解所有内容,但我只想看看代码本身,它是如何工作的(该js扩展文件被视为PHP文件)…您需要在otslist.eu上进行ftp访问才能查看源代码
document.getElementById("changeMyContent").innerHTML='<strong>New</strong> content';