当前位置:  编程技术>WEB前端
本页文章导读:
    ▪Javascript查询DBpedia小应用      上一篇文章中,我们了解了SPARQL、SPARQL Endpoint,并简单做了一个SPARQLWrapper.js,来从DBpedia中查询了一些数据。本文则尝试利用SPARQLWrapper.js来读取DBpedia的数据,并显示出来。 目标通过输入.........
    ▪iphone webapp如何隐藏地址栏      1、很多资料说,添加以下代码,可以隐藏地址栏,但我试了很多次,貌似不成功啊。<meta name="apple-mobile-web-app-capable" content="yes" />2、我们可以通过另一种方法来隐藏地址栏。在页面加载完.........
    ▪js动态加载脚本        最近公司的前端地图产品需要做一下模块划分,希望用户用到哪一块的功能再加载哪一块的模块,这样可以提高用户体验。  所以到处查资料研究js动态脚本的加载,不过真让人伤心啊.........

[1]Javascript查询DBpedia小应用
    来源:    发布时间: 2013-11-06

上一篇文章中,我们了解了SPARQL、SPARQL Endpoint,并简单做了一个SPARQLWrapper.js,来从DBpedia中查询了一些数据。

本文则尝试利用SPARQLWrapper.js来读取DBpedia的数据,并显示出来。

 

目标

通过输入一个英文单词,然后返回WIKI中相关的信息。

那么主要要解决的问题就是怎样的SPARQL语句能够查询到我们需要的东西。

 

先看一段简单的SPARQL查询语句

PREFIX : <http://aabs.purl.org/music#>
SELECT ?instrument
WHERE {
:andrew :playsInstrument ?instrument .
}

首先定义一个域名空间http://aabs.purl.org/music#。

然后选择这样子的instrument变量,他满足:

主语是http://aabs.purl.org/music#andrew,谓语是http://aabs.purl.org/music#playsInstrument,宾语是该instrument。

 

bif:contains()

bif:contains()是contains()函数的变种函数,顾名思义是判断是否包含的函数。

利用这个我们能查询到我们需要的数据了。

prefix foaf: <http://xmlns.com/foaf/0.1/>
select distinct ?url ?alma ?comment
where {
?s foaf:name ?sname .
?sname bif:contains 'China'.
?s foaf:depiction ?url .
?s dbpedia-owl:wikiPageExternalLink ?alma .
?s rdfs:comment ?comment .
}
limit 10

这段SPARQL语句是查询包含China的名字的词条,然后将其图片的url、homepage的url,以及简介返回回来。

下面让我们把整个程序写完。

 

完整代码

<html>
<head>
<meta charset="utf-8">
<title>SPARQL DEMO</title>
<script src="/blog_article/SPARQLWrapper.js"></script>
<script>

var $ = function(id){
return document.getElementById(id);
},
sparql = new SPARQLWrapper("http://dbpedia.org/sparql"),
results = [];

function getInfo(name){
name = name.replace(/\s/g, "_");
var command = "prefix foaf: <http://xmlns.com/foaf/0.1/> "
+ "select distinct ?url ?alma ?comment "
+ "where { "
+ "?s foaf:name ?sname . "
+ "?sname bif:contains '" + name + "'. "
+ "?s foaf:depiction ?url . "
+ "?s dbpedia-owl:wikiPageExternalLink ?alma . "
+ "?s rdfs:comment ?comment . "
+ "} "

    
[2]iphone webapp如何隐藏地址栏
    来源: 网络技术 iis7站长之家   发布时间: 2013-11-06

1、很多资料说,添加以下代码,可以隐藏地址栏,但我试了很多次,貌似不成功啊。

<meta name="apple-mobile-web-app-capable" content="yes" />

2、我们可以通过另一种方法来隐藏地址栏。在页面加载完成之后滚动窗口,这个确实有效,唯一要注意的是页面高度必须够高,核心代码如下:

<script type="text/javascript">
addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false);
function hideURLbar(){
window.scrollTo(0,1);
}
</script>

3、但是当页面高度自适应窗口(height:100%),以上方法就不适用了,我们需要采用特殊方法:

$('div').css("height",window.innerHeight+100); //强制让内容超过

window.scrollTo(0, 1);

$("div").css("height",window.innerHeight); //重置成新高度

document.addEventListener('touchmove', function (e) { e.preventDefault(); }, false); //如果不想让页面滑动,可以加上这段代码

 

参考资料:http://jslover.com/?p=357

 

 

本文链接


    
[3]js动态加载脚本
    来源:    发布时间: 2013-11-06

  最近公司的前端地图产品需要做一下模块划分,希望用户用到哪一块的功能再加载哪一块的模块,这样可以提高用户体验。

  所以到处查资料研究js动态脚本的加载,不过真让人伤心啊!,网上几乎都是同一篇文章,4种方法,讨厌其中拷贝别人成果的人,也不加个原文的链接。哎!关键是最后一种方法还有点错误。经过两天的研究查阅资料,在这里和大家分享一下。

  首先我们需要一个被加载的js文件,我在一个固定文件夹下创建了一个package.js,打开后在里面写一个方法functionOne,很简单,代码如下:

function functionOne(){
alert("成功加载");
}

  后面的html文件都创建在同一个目录下。

方法一:直接document.write

  在同一个文件夹下面创建一个function1.html,代码如下:

<html>
<head>
<title></title>
<script type="text/javascript">
function init()
{
//加载js脚本
document.write("<script src='/blog_article/package.js'><\/script>");
//加载一个按钮
document.write("<input type=\"button\" value=\"测试运行效果\" onclick=\"operation()\"\/>");
//如果马上使用会找不到,因为还没有加载进来,此处会报错
functionOne();
}
function operation()
{
//可以运行,显示“成功加载”
functionOne();
}
</script>
</head>
<body>
<input type="button" value="初始化加载" onclick="init()"/>
</body>
</html>

  通过document.write的方式可以往页面写入脚本,如代码所示,点击按钮“初始化加载”后可以加载package.js文件,但是立即运行里面的方法functionOne会找不到此方法,报告错误,而点击第二个按钮(通过document.write动态创建的“测试运行效果”)发现可以执行,此时脚本已经加载完毕了。由于这种方式是异步加载(一边继续执行后面的代码,一边额外开一个线程执行需要加载的脚本),并且document.write会重写界面,明显不实用。

方法二:动态改变已有script的src属性

  在同一个文件夹下面创建一个function2.html,代码如下:

<html>
<head>
<title></title>
<script type="text/javascript" id="yy" src=""></script>
<script type="text/javascript">
function init()
{
yy.src = "package.js";
//如果马上使用会找不到,因为还没有加载进来,此处会报错
functionOne();
}
function operation()
{
//可以运行,显示“成功加载”
functionOne();
}
</script>
</head>
<body>
<input type="button" value="测试按钮" onclick="init()"/>
<input type="button" value="测试运行效果" onclick="operation()"/>
</body>
</
    
最新技术文章:
 




特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3