blog.Ring.idv.tw

JavaScript

跨網域請求(二) - Flash Plug-In

本文接續著「跨網域請求(一) - Cross-Domain Script Tag」來繼續實作另一種透過Flash Plug-In的作法~

這種作法最大的缺點就是需要仰賴一個Plug-In的方式~

但隨著Flash Player Statistics所統計全世界可上網的電腦有安裝Flash Player就達到98.8%~ 所以此缺點看似影響並非太大~ 端看客官們如何取捨~

下述範例「flash.php」、「crossdomain.xml」須放在同一個網域之下

flash.php

<div><?=rand()+rand()?></div>

crossdomain.xml

這個「crossdomain.xml」須放置在根目錄下

<?xml version="1.0"?>
<cross-domain-policy>
   <allow-access-from domain="*" />
</cross-domain-policy>

ActionScript 3

這裡的ActionScript範例會執行外部的資源請求,並將請求所得到的值利用ExternalInterface呼叫「callJS()」的JavaScript,有興趣的人玩玩看吧~

var loader:URLLoader = new URLLoader();
sendRequest();
function sendRequest():void
{
	var request:URLRequest = new URLRequest("http://163.17.142.204/csproxy/flash.php?"+Math.random());
	request.method = URLRequestMethod.GET;

	loader.dataFormat = URLLoaderDataFormat.TEXT;
	loader.addEventListener(Event.COMPLETE, loader_complete);
	loader.load(request);
}
function loader_complete(e:Event):void
{
	var example:RegExp = new RegExp(/<div>(.*)<\/div>/);
	var trans = example.exec(loader.data);
	ExternalInterface.call("callJS",trans[1]);	
}

JavaScript

function callJS(result)
{
	alert(result);	
}

2008-03-29 01:32:32 | Add Comment

跨網域請求(一) - Cross-Domain Script Tag

由於目前絕大多數的瀏覽器都套用same origin policy的安全性限制~

所以如果我們必須在兩個不同網域的情況下,並向另一個網域上的資源做請求,那就要透過一些額外的方法來達成~

底下要介紹的就是「Cross-Domain Script Tag」的方式~ 其實這種方式若結合JSON(JavaScript Object Notation)的話,在應用上就會蠻方便的~

下述範例請將「script.php」、「script.html」放置在兩個不同網域下做測試~

然後執行「script.html」就可以看到結果了~

script.php

var a = <?=rand()?>;
var b = <?=rand()?>;
calculate();

script.html

<html>
<head>
<title>Cross Domain <Script> Tag</title>
<script>
function getScript(url)
{
	var s = document.createElement('SCRIPT');
	s.src = url;
	document.body.appendChild(s);
}
function calculate()
{
	alert(a+b);
}
</script>
</head>
<body>
<script>
getScript("http://163.17.142.204/csproxy/script.php");
</script>
</body>
</html>

2008-03-28 23:23:43 | Comments (1)

不可不知的一套JavaScript函式庫 - jQuery

jQuery是一套由John Resig所建立的JavaScript Library,可以使用它來提升JavaScript和HTML的互動效果~ 它採用MIT、GPL雙License,所以也可以自由地免費來使用~

想用JavaScript來作一個像上圖中的Fisheye效果嗎?

OK的~ 看一下Tom's Graphic Design Journal的Blog~

它就是採用jQuery所做出來的效果~ 不過當然還有其它的方式也可以達成,例如:mootools等...

好想找個時間將我的Blog改成Fisheye Menu~ ^^v

Fisheye Example

Fisheye - Interface plugin for jQuery

相關文章

MooTools - the compact javascript framework

2008-01-12 16:57:16 | Add Comment

MooTools - the compact javascript framework

MooTools - the compact javascript framework

MooTools is a compact, modular, Object-Oriented JavaScript framework
 designed for the intermediate to advanced JavaScript developer. 
It allows you to write powerful, flexible, and cross-browser code with 
its elegant, well documented, and coherent API.

想要在網頁上做些很炫的應用卻不仰賴Flash或Silverlight嗎?MooTools值得參考一下~

從它的「Demo」你就可以發現很多的效果應用~ ^^

2007-12-16 12:20:06 | Add Comment

Next Posts
Copyright (C) Ching-Shen Chen. All rights reserved.

::: 搜尋 :::

::: 分類 :::

::: Ads :::

::: 最新文章 :::

::: 最新回應 :::

::: 訂閱 :::

Atom feed
Atom Comment