เมื่อใช้ Ajax มาโหลดหน้าเว็บ และจะเข้าถึงpages ต่างๆ ผ่าน address bar ยังไงครับ
เข้าตรงๆผ่านทางแอดเดรสบาร์ไม่ได้ค่ะ เว้นแต่ว่าจะเพิ่มพารามิเตอร์ต่อท้าย url เช่น
shopping9.com/?page=product
shopping9.com/?page=cart
shopping9.com/?page=payment
ทีนี้ก็ใช้วิธีเช็คค่าตัวแปรที่เข้ามา แล้วค่อยไปเรียกให้ ajax โหลดหน้านั้นในเฟรมที่เตรียมเอาไว้
<div id="container"></div>
<script>
$("div#container").load("<?php echo $_GET["page"] ?>");
</script>
โค้ดลักษณะนี้ความปลอดภัยอาจจะต่ำน่ะค่ะ
Date :
2013-08-05 10:01:51
By :
survivor
อย่าใช้ Ajax โหลด เรียกมันตรงๆไปเลยเขียน .htacess เอา
Date :
2013-08-05 10:07:44
By :
teez1232002
.htacess ยังไงอ่าพี่ ผมพึ่งจะรู้จักจากพี่เนี่ยแหละ แหะๆ
Date :
2013-08-05 10:23:16
By :
Pee
ถ้าจะทำ SEO โดยให้ชื่อมันอยู่ที่ Address bar เช่น
www.example.com/article.php?parameter=3 //แบบนี้เข้าแบบ ตรงๆ
ก็ใช้ .htaccess เขียนซะใหม่
www.example.com/article/3/สิ่งที่ต้องการได้ทั้งหมด/ แบบนี้เขียนซะใหม่ ตัวอย่างเพิ่งทำเสร็จ
http://www.easybranches.cc
บทความ SEO มีนะ
Date :
2013-08-05 10:31:28
By :
teez1232002
<script>
$("div#container").load("<?php echo $_GET["page"] ?>");
</script> โค๊ดส่วนนี้ผมต้องเอาไปวางส่วนไหนอะคับ
Date :
2013-08-05 10:44:31
By :
Pee
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8"/>
<meta name="generator" content="5.0.704.218"/>
<title>test</title>
<!-- CSS -->
<link rel="stylesheet" type="text/css" href="css/site_global.css?293496678"/>
<link rel="stylesheet" type="text/css" href="css/master_a-master.css?425160078"/>
<link rel="stylesheet" type="text/css" href="css/test2.css?4008485009" id="pagesheet"/>
<!-- Other scripts -->
<script type="text/javascript">
document.documentElement.className += ' js';
</script>
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax(url) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var pmeters = "";
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById('mySpan').innerHTML = HttPRequest.responseText;
} }}
</script>
</head>
<body>
<div class="shadow rounded-corners clearfix" id="page"><!-- column -->
<div class="position_content" id="page_position_content">
<div class="clearfix colelem" id="pu514"><!-- group -->
<div class="grpelem" id="u514"><!-- image -->
<img class="block" id="u514_img" src="images/logo.png" alt="" width="174" height="70"/>
</div>
<div class="grpelem" id="u7375"><!-- image -->
<img class="block" id="u7375_img" src="images/logo.png" alt="" width="174" height="70"/>
</div>
</div>
<div class="clearfix colelem" id="pu7368"><!-- group -->
<div class="grpelem" id="u7368"><!-- custom html -->
<div id="mySpan"></div>
</div>
<div class="grpelem" id="u7373"><!-- custom html -->
<!--Adobe Edge Runtime-->
<script type="text/javascript" charset="utf-8" src="menu_edgePreload.js"></script>
<style>
.edgeLoad-EDGE-17468560 { visibility:hidden; }
</style>
<!--Adobe Edge Runtime End-->
<div id="Stage" class="EDGE-17468560">
</div>
</div>
</div>
<div class="verticalspacer"></div>
</div>
</div>
<!-- JS includes -->
<script type="text/javascript">
if (document.location.protocol != 'https:') document.write('\x3Cscript src="http://musecdn.businesscatalyst.com/scripts/4.0/jquery-1.8.3.min.js" type="text/javascript">\x3C/script>');
</script>
<script type="text/javascript">
window.jQuery || document.write('\x3Cscript src="scripts/jquery-1.8.3.min.js" type="text/javascript">\x3C/script>');
</script>
<script src="scripts/museutils.js?3992981318" type="text/javascript"></script>
<script src="scripts/jquery.watch.js?4068933136" type="text/javascript"></script>
<!-- Other scripts -->
<script type="text/javascript">
$(document).ready(function() { try {
Muse.Utils.transformMarkupToFixBrowserProblemsPreInit();/* body */
Muse.Utils.prepHyperlinks();/* body */
Muse.Utils.fullPage('#page');/* 100% height page */
Muse.Utils.showWidgetsWhenReady();/* body */
Muse.Utils.transformMarkupToFixBrowserProblems();/* body */
} catch(e) { Muse.Assert.fail('Error calling selector function:' + e); }});
</script>
</body>
</html>
ตามนี้เลยครับ
Date :
2013-08-05 11:35:19
By :
psnorth538
ดูจากโค้ดแล้วไม่ทราบเลยค่ะว่า div ชุดไหนใช้โหลดหน้าเพจที่เรียกผ่านการกดจากเมนู
Date :
2013-08-05 11:41:12
By :
survivor
ออ ตัวนั้นแยกออกมาอยู่ที่ scrip อีกตัวครับ หน้าตาเพื่อโหลดก็ แบบนี้อะครับ
Code (PHP)
Symbol.bindElementAction(compId, symbolName, "${_Tencover}", "click", function(sym, e) {
// Navigate to a new URL in the current window
// (replace "_self" with appropriate target attribute for a new window)
window.open("tensionrod.html", "_self");
ส่วน Div ที่วางก็อยู่ที่บรรทัด 96 ครับ
Date :
2013-08-05 11:46:40
By :
psnorth538
ใช้ไลบรารี่ เห็นแล้วไปต่อไม่เป็นเรยย ค่ะ
Code (PHP)
<div class="grpelem" id="u7373"><!-- custom html -->
<!--Adobe Edge Runtime-->
<script type="text/javascript" charset="utf-8" src="menu_edgePreload.js"></script>
<style>
.edgeLoad-EDGE-17468560 { visibility:hidden; }
</style>
<!--Adobe Edge Runtime End-->
<div id="Stage" class="EDGE-17468560">
เดาว่าส่วนของหน้าเพจที่ถูกเรียกต้องมาแสดงใน div คู่นี้
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$("div#Stage").load("<?php echo $_GET["page"]; ?>");
//ประมาณนี้มั้งค่ะ
});
</script>
Date :
2013-08-05 12:16:44
By :
survivor
Load balance : Server 02