اشتراکها
اگر یک برنامهی Angular را به صورت پیشفرض در IE اجرا کنیم، یک چنین تصویری مشاهده خواهد شد:
برای اجرای برنامه توسط نگارشهای مختلف IE میتوانید برنامهی IE Tester را نصب کنید.
مشکل چیست؟
مشکل عدم اجرای برنامههای Angular در IE، به قدیمی بودن موتور JavaScript آن بر میگردد؛ خصوصا در مورد توابع کار با آرایهها. برای مثال در مورد کار با for..of هیچ نوع پشتیبانی از آن در IE وجود ندارد (و نخواهد داشت؛ با توجه به پایان دورهی پشتیبانی آن):
چگونه پشتیبانی از ویژگیهای جدید JavaScript را به مرورگر IE اضافه کنیم؟
Angular امکان افزودن کمبودهای موتور JavaScript پیشفرض IE را توسط کتابخانهی core-js میسر کردهاست که اصطلاحا به آن polyfills گفته میشود. برای این منظور فایل src\polyfills.ts را گشوده و تغییرات زیر را به آن اعمال کنید:
الف) در این فایل، هرجایی import // وجود دارد، آنرا تبدیل به import کنید (تمام importهایی که کامنت شدهاند را از حالت کامنت خارج کنید).
ب) دو بستهی زیر را نیز باید نصب کنید:
البته اگر به کامنتهای این فایل دقت کنید، نیاز به نصب این بستهها نیز در آن عنوان شدهاست.
نتیجهی نهایی پس از افزودن polyfills مخصوص IE
اکنون اگر مجددا برنامه را کامپایل و اجرا کنید، برنامهی Angular بدون مشکل در IE اجرا خواهد شد:
برای اجرای برنامه توسط نگارشهای مختلف IE میتوانید برنامهی IE Tester را نصب کنید.
مشکل چیست؟
مشکل عدم اجرای برنامههای Angular در IE، به قدیمی بودن موتور JavaScript آن بر میگردد؛ خصوصا در مورد توابع کار با آرایهها. برای مثال در مورد کار با for..of هیچ نوع پشتیبانی از آن در IE وجود ندارد (و نخواهد داشت؛ با توجه به پایان دورهی پشتیبانی آن):
چگونه پشتیبانی از ویژگیهای جدید JavaScript را به مرورگر IE اضافه کنیم؟
Angular امکان افزودن کمبودهای موتور JavaScript پیشفرض IE را توسط کتابخانهی core-js میسر کردهاست که اصطلاحا به آن polyfills گفته میشود. برای این منظور فایل src\polyfills.ts را گشوده و تغییرات زیر را به آن اعمال کنید:
الف) در این فایل، هرجایی import // وجود دارد، آنرا تبدیل به import کنید (تمام importهایی که کامنت شدهاند را از حالت کامنت خارج کنید).
ب) دو بستهی زیر را نیز باید نصب کنید:
npm install --save classlist.js npm install --save web-animations-js
نتیجهی نهایی پس از افزودن polyfills مخصوص IE
اکنون اگر مجددا برنامه را کامپایل و اجرا کنید، برنامهی Angular بدون مشکل در IE اجرا خواهد شد:
نظرات اشتراکها
الگوهای طراحی (Design Patterns) شی گرا
یک مرجع فارسی خوب: اینجا
اشتراکها
آموزش مقدمات Angularjs
اشتراکها
نکاتی در مورد زبان C
لینک مرجع مقاله +
نظرات مطالب
اهمیت code review
سلام. چطور میشه روش کد نویسی صحیح را یاد گرفت؟ در اثر تجربه به دست میاد، یا برای این کار مرجع و آموزشی وجود داره؟ کدنویسی بلدم، خوب نویسی نه؟! چطور این مشکل را حل کنم؟
از SendCoreها صرفنظر کنید و صرفا یکسری overload اضافی جهت ارسال آرایهها بیشتر نیستند.
در این مقاله مروری خواهیم داشت بر نحوهی انجام یک سری از اعمال متداول با استفاده از jQuery بر روی select استاندارد HTML. قبل از شروع به عنوان قالب کار، صفحه سادهی زیر را در نظر بگیرید که از یک DropDownList استاندارد ASP.Net تشکیل شده است:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="select.aspx.cs" Inherits="TestJQueryAjax.select" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
//...
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:DropDownList ID="ddlTest" runat="server">
<asp:ListItem Value="1">آیتم یک</asp:ListItem>
<asp:ListItem Value="2">آیتم دو</asp:ListItem>
<asp:ListItem Value="3">آیتم سه</asp:ListItem>
<asp:ListItem Value="4">آیتم چهار</asp:ListItem>
<asp:ListItem Value="5">آیتم پنج</asp:ListItem>
</asp:DropDownList>
</form>
</body>
</html>
$("#<%=ddlTest.ClientID %>").val()
$("#<%=ddlTest.ClientID %> option:selected").text()
<script type="text/javascript">
$(document).ready(function() {
$("#<%=ddlTest.ClientID %>").change(function() {
alert($("#<%=ddlTest.ClientID %>").val());
});
});
</script>
$("#<%=ddlTest.ClientID %>").val(2);
$("<option value='6'>آیتم شش</option>").appendTo("#<%=ddlTest.ClientID %>");
6) خالی و حذف کردن تمامی آیتمها
$("#<%=ddlTest.ClientID %>").html("");
و برای تکمیل بحث میتوان به این برگه مرجع مراجعه کرد:
jQuery – Select element cheat sheet
نظرات مطالب
آموزش TypeScript #1
با نگاهی به زبان TypeScript متوجه میشویم که خیلی Syntax روان و آسانی دارد.
سوالی که همیشه من داشته ام این است .... چرا خود زبان JavaScript را تغییر نمیدهند؟
مسلما TypeScript و CoffeeScript برای برطرف کردن ضعف JavaScript بوجود آمده اند اما چرا خود مشکل را برطرف نمیکنند؟
میتوانستند همانند ارائه HTML5 و CSS3 نسخه جدیدی از JavaScript ارائه کنند که سختیهای کار با JavaScript را برطرف کرده باشند!
سوالی که همیشه من داشته ام این است .... چرا خود زبان JavaScript را تغییر نمیدهند؟
مسلما TypeScript و CoffeeScript برای برطرف کردن ضعف JavaScript بوجود آمده اند اما چرا خود مشکل را برطرف نمیکنند؟
میتوانستند همانند ارائه HTML5 و CSS3 نسخه جدیدی از JavaScript ارائه کنند که سختیهای کار با JavaScript را برطرف کرده باشند!