Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion html/arabic/java/advanced-usage/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ weight: 20
> *Explanation only – code unchanged.*

### الخطوة 4: حفظ كملف PDF (أو XPS) بحجم صفحة مخصص
عند استدعاء `save`، مرّر كائن `PdfSaveOptions` (أو `XpsSaveOptions`). يمكنك هنا أيضًا **adjust PDF page size** أو **convert HTML to XPS** عن طريق ضبط خاصية `PageSize`.
عند استدعاء `save`, مرّر كائن `PdfSaveOptions` (أو `XpsSaveOptions`). يمكنك هنا أيضًا **adjust PDF page size** أو **convert HTML to XPS** عن طريق ضبط خاصية `PageSize`.

> *Explanation only – code unchanged.*

Expand Down Expand Up @@ -136,6 +136,8 @@ weight: 20
### [كيفية تشغيل JavaScript في Java – دليل كامل](./how-to-run-javascript-in-java-complete-guide/)
تعلم كيفية تشغيل كود JavaScript داخل تطبيقات Java باستخدام Aspose.HTML for Java.

### [كيفية عزل JavaScript – دليل كامل Aspose.HTML](./how-to-sandbox-javascript-complete-aspose-html-guide/)

---

**آخر تحديث:** 2025-11-29
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
---
category: general
date: 2026-02-19
description: تعلم كيفية عزل JavaScript باستخدام Aspose.HTML في Java. يوضح لك هذا الدليل
خطوة بخطوة أيضًا كيفية تشغيل JavaScript في بيئة معزولة بأمان.
draft: false
keywords:
- how to sandbox javascript
- run javascript in sandbox
language: ar
og_description: اكتشف كيفية عزل JavaScript باستخدام Aspose.HTML في Java. اتبع الدليل
لتشغيل JavaScript في بيئة معزولة بأمان وكفاءة.
og_title: كيفية عزل جافا سكريبت – دليل Aspose.HTML الكامل
tags:
- Java
- Aspose.HTML
- Sandbox
- JavaScript Execution
title: كيفية عزل JavaScript – دليل Aspose.HTML الكامل
url: /ar/java/advanced-usage/how-to-sandbox-javascript-complete-aspose-html-guide/
---

{{< blocks/products/pf/main-wrap-class >}}
{{< blocks/products/pf/main-container >}}
{{< blocks/products/pf/tutorial-page-section >}}

# كيفية عزل JavaScript – دليل Aspose.HTML الكامل

هل تساءلت يومًا **كيف تعزل JavaScript** حتى لا تتمكن النصوص الخبيثة من اختراق نظامك؟ لست وحدك. في العديد من خطوط أنابيب أتمتة الويب أو معالجة HTML تحتاج إلى السماح للصفحة بتنفيذ نصوصها الخاصة، ومع ذلك يجب أن تبقي تلك النصوص محصورة—بدون طلبات شبكة، بدون حلقات لا نهائية، وبدون مفاجآت تتعلق بحجم الشاشة. يوضح لك هذا الدليل ذلك بالضبط، كما يجيب على السؤال المتعلق **كيف تشغل JavaScript في عزل** باستخدام مكتبة Aspose.HTML للغة Java.

سنستعرض مثالًا واقعيًا: تحميل ملف HTML، السماح بتنفيذ JavaScript داخل عزل يحاكي شاشة بحجم 1024×768، وأخيرًا استخراج الـ DOM المعالج. بنهاية هذا الدليل ستحصل على برنامج Java جاهز للتنفيذ، وتفهم لماذا كل إعداد مهم، وتعرف كيف تعدل العزل لسيناريوهات أخرى.

## المتطلبات المسبقة

- Java 17 (أو أي JDK حديث) مثبت ومُكوَّن على جهازك.
- ملفات JAR الخاصة بـ Aspose.HTML for Java 23.9 (أو أحدث) على مسار الفئات الخاص بك.
- ملف `input.html` بسيط تريد معالجته.
- بيئة تطوير متكاملة أو محرر نصوص—IntelliJ IDEA، VS Code، Eclipse، أو أي شيء تفضله.

لا تحتاج إلى أدوات بناء خارجية لهذا الدليل؛ سطر الأوامر البسيط `javac` / `java` يعمل بشكل جيد.

---

## الخطوة 1: إعداد خيارات التحميل مع تكوين عزل

كائن **load options** هو المكان الذي تخبر فيه Aspose.HTML كيف يتعامل مع HTML الوارد. من خلال إرفاق نسخة `Sandbox` تقوم بتعريف بيئة التنفيذ.

```java
import com.aspose.html.HTMLDocument;
import com.aspose.html.net.HtmlLoadOptions;
import com.aspose.html.rendering.Sandbox;

public class SandboxJsDemo {
public static void main(String[] args) throws Exception {

// ① Create load options that will hold the sandbox configuration
HtmlLoadOptions loadOptions = new HtmlLoadOptions();

// ② Configure the sandbox – this is the core of how to sandbox JavaScript
Sandbox sandbox = new Sandbox();
sandbox.setScreenWidth(1024); // emulate a 1024‑pixel wide viewport
sandbox.setScreenHeight(768); // emulate a 768‑pixel tall viewport
sandbox.setAllowNetworkRequests(false); // block any HTTP/HTTPS calls
sandbox.setEnableJavaScript(true); // enable script execution inside the sandbox

// ③ Attach the sandbox to the load options
loadOptions.setSandbox(sandbox);
```

**لماذا هذا مهم:**
- `setScreenWidth`/`setScreenHeight` يمنحان الصفحة تخطيطًا حتميًا، مما يمنع التصاميم المتجاوبة من التصرف بشكل غير متوقع.
- `setAllowNetworkRequests(false)` هو شبكة الأمان التي تضمن **تشغيل JavaScript في عزل** دون تسريب البيانات أو جلب موارد عن بُعد.
- تمكين JavaScript (`setEnableJavaScript(true)`) يسمح لنصوص الصفحة الخاصة بالتنفيذ، ولكن فقط ضمن القيود التي حددتها.

> **نصيحة احترافية:** إذا كنت بحاجة إلى تصحيح النصوص، قم بتبديل `setAllowNetworkRequests(true)` مؤقتًا ووجه العزل إلى وكيل محلي يسجل الطلبات.

## الخطوة 2: تحميل مستند HTML داخل العزل

الآن بعد أن أصبح العزل جاهزًا، يمكنك تحميل ملف HTML الخاص بك. سيقوم Aspose.HTML بتحليل العلامات، وإطلاق محرك JavaScript خفيف الوزن، وتنفيذ النصوص مع احترام قواعد العزل.

```java
// ④ Load the HTML file using the sandboxed options
String inputPath = "YOUR_DIRECTORY/input.html";
HTMLDocument document = new HTMLDocument(inputPath, loadOptions);
```

**ماذا يحدث خلف الكواليس؟**
يقوم Aspose.HTML بإنشاء بيئة تشغيل JavaScript معزولة تشبه المتصفح بدون رأس، ولكن دون محرك Chromium الضخم. العزل يعزل الكائنات العالمية، يحد من المؤقتات، ويمنع `fetch`/`XMLHttpRequest` عندما يكون الشبكة معطلة. هذا هو بالضبط **كيفية عزل JavaScript** لمعالجة الخادم.

## الخطوة 3: التفاعل مع DOM المعالج

بعد تشغيل النصوص، يعكس الـ DOM أي تغييرات أجرتها الصفحة—تحديثات العنوان، تغييرات الـ DOM، أو حتى العلامات التي تم توليدها. يمكنك الآن استعلام المستند كما تفعل في المتصفح.

```java
// ⑤ Access the DOM after script execution (e.g., read the page title)
String title = document.getTitle();
System.out.println("Title after script execution: " + title);
```

الناتج النموذجي:

```
Title after script execution: Welcome to My Dynamic Page
```

إذا كانت صفحتك تعدل عناصر أخرى، يمكنك التنقل بينها باستخدام `document.getElementById`، `document.querySelectorAll`، إلخ، كل ذلك بأمان داخل العزل.

## الخطوة 4: حفظ HTML المعدل

غالبًا ما ترغب في حفظ العلامات المُحوَّلة لمعالجة لاحقة—ربما للتحويل إلى PDF أو لتحليل SEO. يجعل Aspose.HTML ذلك سطرًا واحدًا.

```java
// ⑥ Save the processed DOM to a new file
String outputPath = "YOUR_DIRECTORY/output.html";
document.save(outputPath);
System.out.println("Processed HTML saved to: " + outputPath);
}
}
```

عند فتح `output.html` ستلاحظ نفس بنية `input.html`، ولكن مع أي تغييرات ناتجة عن JavaScript مدمجة بالفعل. لا حاجة لمتصفح حقيقي.

## الخطوة 5: تشغيل البرنامج والتحقق من النتيجة

قم بترجمة وتنفيذ الفئة:

```bash
javac -cp "aspose-html-23.9.jar" SandboxJsDemo.java
java -cp ".:aspose-html-23.9.jar" SandboxJsDemo
```

يجب أن ترى سطرين في وحدة التحكم:

```
Title after script execution: Welcome to My Dynamic Page
Processed HTML saved to: YOUR_DIRECTORY/output.html
```

افتح `output.html` في أي محرر نصوص؛ ستلاحظ تحديث وسم `<title>`، وأي تعديلات على الـ DOM (مثل `<div>` المضاف) موجودة.

## الحالات الخاصة والاختلافات الشائعة

### 1. السماح بالوصول الشبكي المحدود

إذا كنت بحاجة لجلب موارد محلية (مثل الصور المخزنة على نفس الخادم) ولكن لا تزال تريد حظر الاتصالات الخارجية، يمكنك توفير `NetworkRequestHandler` مخصص يضع بعض عناوين URL في القائمة البيضاء. هذا يحافظ على فكرة **تشغيل JavaScript في عزل** مع توفير مرونة.

### 2. التحكم في زمن التنفيذ

النصوص التي تعمل لفترة طويلة يمكن أن تعطل خط أنابيبك. يتيح لك `Sandbox` في Aspose.HTML أيضًا ضبط مهلة زمنية:

```java
sandbox.setExecutionTimeout(5000); // milliseconds
```

عند انتهاء المهلة، يتوقف المحرك عن تنفيذ النص ويطرح استثناء `TimeoutException`. يمكنك التقاطه لتسجيله أو للعودة بخطوة آمنة.

### 3. محاكاة شاشات عرض مختلفة

المواقع المتجاوبة غالبًا ما تعيد ترتيب المحتوى بناءً على حجم الشاشة. غيّر `setScreenWidth`/`setScreenHeight` لتطابق جهازًا محمولًا (مثلاً 375×667) إذا كنت بحاجة إلى عرض مخصص للمحمول.

### 4. تعطيل JavaScript بالكامل

أحيانًا تحتاج فقط إلى استخراج HTML ثابت. ببساطة اضبط `sandbox.setEnableJavaScript(false)`. هذا يحقق **كيفية عزل JavaScript** عن طريق إيقافه، وهو مفيد لخطوط الأنابيب التي تركز على الأمان.

## نصائح عملية من الميدان

- **حافظ على العزل خفيفًا.** كل إذن إضافي تقوم بتمكينه (مثل `setAllowNetworkRequests(true)`) يوسع مساحة الهجوم. التزم بالحد الأدنى الذي تحتاجه.
- **سجّل قبل وبعد.** احفظ الـ DOM في ملف مؤقت قبل وبعد تنفيذ النص؛ مقارنة الفروقات تساعدك على فهم ما تفعله JavaScript الخاصة بالصفحة.
- **قفل نسخة Aspose.HTML.** الواجهات مستقرة، لكن التغييرات الدقيقة في محركات النصوص قد تؤثر على النتيجة. ثبت نسخة المكتبة في سكريبت البناء الخاص بك.
- **اختبر مع صفحات واقعية.** ملفات الاختبار البسيطة جيدة للتعلم، لكن HTML الإنتاجي غالبًا ما يحتوي على ودجات طرف ثالث تحاول إجراء طلبات شبكة. تأكد من أن عزلك يمنعها كما هو متوقع.

## الخلاصة

لقد غطينا **كيفية عزل JavaScript** باستخدام Aspose.HTML للغة Java، بدءًا من إنشاء كائن `Sandbox` إلى تحميل ملف HTML، السماح للنصوص بالتنفيذ، وأخيرًا حفظ الـ DOM المُحوَّل. الآن تعرف **كيفية تشغيل JavaScript في عزل** بأمان، وكيفية تعديل أبعاد الشاشة، التحكم في الوصول إلى الشبكة، ومعالجة الحالات الخاصة مثل المهلات أو السماح القائم على قوائم بيضاء.

الخطوات التالية؟ جرّب تحويل HTML المعالج في العزل إلى PDF باستخدام Aspose.PDF، أو مرّر الناتج إلى محلل SEO بدون رأس. يمكنك أيضًا تجربة تشغيل عدة مثيلات عزل بالتوازي لتسريع المعالجة الدفعية.

برمجة سعيدة، وتذكر—العزل ليس مجرد شبكة أمان؛ إنه طريقة قوية لجعل JavaScript يتصرف بشكل متوقع في سير عمل الخادم. لا تتردد في ترك تعليقات أو مشاركة تنويعاتك الخاصة أدناه!

{{< /blocks/products/pf/tutorial-page-section >}}
{{< /blocks/products/pf/main-container >}}
{{< /blocks/products/pf/main-wrap-class >}}
{{< blocks/products/products-backtop-button >}}
2 changes: 2 additions & 0 deletions html/arabic/java/conversion-html-to-other-formats/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,8 @@ XPS هو صيغة الطباعة الخاصة بمايكروسوفت. باستخ
تعلم كيفية تحويل SVG إلى XPS باستخدام Aspose.HTML for Java. دليل بسيط خطوة بخطوة لتحويلات سلسة.
### [تحويل HTML إلى PDF في Java – دليل خطوة بخطوة مع إعدادات حجم الصفحة](./convert-html-to-pdf-in-java-step-by-step-guide-with-page-siz/)
تعلم تحويل HTML إلى PDF في Java مع إعدادات حجم الصفحة خطوة بخطوة باستخدام Aspose.HTML.
### [تحويل HTML إلى PDF بالجملة – دليل Java NIO مع المعالجة المتوازية](./convert-html-to-pdf-in-bulk-java-nio-guide-with-parallel-pro/)
تعلم كيفية تحويل ملفات HTML إلى PDF دفعة واحدة باستخدام Java NIO ومعالجة متوازية لزيادة الأداء.

## الأسئلة المتكررة

Expand Down
Loading