在单击链接时加载 HTMLImport (Polymer) <a onclick=“..">.
Load a HTMLImport (Polymer) when clicking a link <a onclick="...">
让我这么说吧,我有基本的 html 和 css 技能,但不幸的是没有 js...
因此,我正在尝试创建一个索引.php该索引在单击"链接"时应该导入一些html内容。
对于我的每个页面,我都有相同的索引.php,只有一个部分是不同的。那么为什么不直接更改这部分,而不是加载不同的完整索引.php
......为此,我正在使用Polymer的HTMLImports。我也尝试了jquery,但我什至没有走那么远......
这是我不起作用的代码:
<!DOCTYPE html>
<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
<link href="http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,400,200italic,300italic,400italic" rel="stylesheet" type="text/css">
<link href="/favicon.ico" rel="shortcut icon">
<link href="/favicon.gif" rel="icon" type="image/gif">
<link href="/imports/index.php" rel="import">
<link href="/static/css/index.css" rel="stylesheet" type="text/css">
<script src="/static/js/polymer.min.js" type="text/javascript"></script>
<title>FOO</title>
</head>
<body>
<h1><a href="/">FOO</a></h1>
<div id="nav">
<span class="right">
<a class="nav" href="/" onclick="load('/imports/1.php')">1</a>
<a class="nav" href="/" onclick="load('/imports/2.php')">2</a>
<a class="nav" href="/" onclick="load('/imports/3.php')">3</a>
<a class="nav" href="/" onclick="load('/imports/4.php')">4</a>
<a class="nav" href="/" onclick="load('/imports/5.php')">5</a>
<a class="nav" href="/" onclick="load('/imports/6.php')">6</a>
<a class="nav" href="/" onclick="load('/imports/7.php')">7</a>
<a class="nav" href="/" onclick="load('/imports/8.php')">8</a>
<a class="nav" href="/" onclick="load('/imports/9.php')">9</a>
<a class="nav" href="/" onclick="load('/imports/contact.php')">// IMPRESSUM</a>
</span>
</div>
<hr>
<script type="text/javascript">
window.addEventListener('HTMLImportsLoaded', function load(src, fn) {
var link = document.createElement('link')
link.setAttribute('rel', 'import')
link.setAttribute('href', src)
document.body.appendChild(link)
HTMLImports.importer.load(document, function() {
HTMLImports.parser.parseLink(link)
fn(null, link.import.content)
})
});
</script>
</body>
</html>
以下是 1.php 中的内容示例:
<div id="gallery">
<div id="img">
<style scoped="scoped" type="text/css">
div#img { width:1570px; }
</style>
<img class="gallery" src="/img/01.jpg" style="vertical-align:middle" alt="01.jpg">
<img class="gallery" src="/img/02.jpg" style="vertical-align:middle" alt="02.jpg">
</div>
</div>
提前感谢您的帮助!
您可以使用HTML导入来做这样的事情,但它可能会不必要地使事情复杂化。您仍然需要编写一些 JS,将导入中的内容添加到文档中。在这一点上,为什么不加载iframe,甚至更好的是,创建一个适当的AJAX站点?
导入的真正好处是 HTML 解析器可以在加载应用的其余部分时处理导入。但是,如果您动态加载导入(而不是声明<link rel="import">
),则不会发生这种情况。
这是您的方法的一个工作示例。它使用本机导入 (
<a href="#" onclick="load('http://www.html5rocks.com/en/tutorials/')">load articles</a>
<output></output>
<script>
function load(url) {
var link = document.createElement('link')
link.rel = 'import';
link.href = url;
link.onload = function(e) {
var articles = this.import.querySelectorAll('article.tutorial_listing');
var frag = document.createDocumentFragment();
[].forEach.call(articles, function(art, i) {
frag.appendChild(art.querySelector('h3'));
});
var out = document.querySelector('output');
out.innerHTML = '';
out.appendChild(frag);
};
document.body.appendChild(link);
}
</script>
相关文章:
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- 改变“;onClick"这个jQuery的操作从清除输入文本改为将输入文本添加到下面的列表中
- "/"当onclick事件时从URL中删除
- onclick=“"javascript内联问题
- 编码"在Javascript onclick事件中被视为真正的双引号-为什么
- DHTMLX”;onEditCell”;事件在“”之后调用;onClick"按钮事件
- jQuery替换所有href=""其中onclick=“;window.location=“;
- 需要HTML表单检查=“"在onclick=“;window.print()”;
- 我可以检查onclick="使用jquery
- 如何将“;onClick"事件转换为javascript文件
- 获取调用其onclick中定义的JavaScript函数的元素(<a>")
- <输入类型=“;提交”;name=“;提交”;值=“;提交”;class=“;bt提交"onclick=
- 我的onClick事件没有设置“;selectedValue"用户选择的选项中的变量
- "TypeError:Math.Floor不是HTMLButtonElement.onclick中加载的函数(
- 按钮“”的onclick功能;搜索书籍"是't工作是因为我没有;没有收到任何警报..没有调用函数Sen
- 简单的jquery+javascript不起作用:add".有错误”;不工作,并且未定义onclick事件
- button1.Attributes.Add(“onclick"“javascript: window.open
- javascript点击一行并触发该行"onclick”;事件
- web - button.onclick = func(); vs <button onclick = "
- onclick=“"在<a></a>标签获胜'不起作用——我错过了什么