查看源代码

就像用户可以在 Web 浏览器中查看 HTML 页面的源代码一样,用户也可以查看基于 HTML 的 AIR 应用程序的源代码。Adobe® AIR® SDK 包含 AIRSourceViewer.js JavaScript 文件,您可以在应用程序中使用该文件,以便轻松地向最终用户显示源代码。

加载、配置和打开 Source Viewer

Source Viewer 代码包含在 JavaScript 文件 AIRSourceViewer.js 中,该文件包含在 AIR SDK 的 frameworks 目录中。若要在应用程序中使用 Source Viewer,请将 AIRSourceViewer.js 复制到应用程序的项目目录中,并在应用程序的 HTML 主文件中通过脚本标签加载该文件:

<script type="text/javascript" src="AIRSourceViewer.js"></script>

AIRSourceViewer.js 文件定义一个 SourceViewer 类,您可以通过从 JavaScript 代码调用 air.SourceViewer 来访问该类。

SourceViewer 类定义三种方法: getDefault() setup() viewSource()

方法

说明

getDefault()

静态方法。返回 SourceViewer 实例,可用于调用其他方法。

setup()

对 Source Viewer 应用配置设置。有关详细信息,请参阅 配置 Source Viewer

viewSource()

打开一个新窗口,用户可以在其中浏览和打开主机应用程序的源文件。

注: 使用 Source Viewer 的代码必须位于应用程序安全沙箱(在应用程序目录中的文件中)中。

例如,下面的 JavaScript 代码可以实例化 Source Viewer 对象和打开列出所有源文件的 Source Viewer 窗口:

var viewer = air.SourceViewer.getDefault(); 
viewer.viewSource();

配置 Source Viewer

config() 方法对 Source Viewer 应用给定设置。此方法使用一个参数: configObject configObject 对象具有用于为 Source Viewer 定义配置设置的属性。这些属性为 default exclude initialPosition modal typesToRemove typesToAdd

default

指定要在 Source Viewer 中显示的初始文件相对路径的字符串。

例如,下面的 JavaScript 代码可以打开 Source Viewer 窗口,其中将 index.html 文件作为初始文件显示:

var viewer = air.SourceViewer.getDefault(); 
var configObj = {}; 
configObj.default = "index.html"; 
viewer.viewSource(configObj);

exclude

指定要从 Source Viewer 列表中排除的文件或目录的字符串数组。其路径相对于应用程序目录。不支持通配符。

例如,下面的 JavaScript 代码可以打开 Source Viewer 窗口,该窗口列出了除 AIRSourceViewer.js 文件以外的所有源文件以及 Images 和 Sounds 子目录中的文件:

var viewer = air.SourceViewer.getDefault(); 
var configObj = {}; 
configObj.exclude = ["AIRSourceViewer.js", "Images" "Sounds"]; 
viewer.viewSource(configObj);

initialPosition

包含两个数字的数组,用于指定 Source Viewer 窗口的初始 x 坐标和 y 坐标。

例如,下面的 JavaScript 代码可以在屏幕坐标 [40, 60](X = 40,Y = 60)位置打开 Source Viewer 窗口:

var viewer = air.SourceViewer.getDefault(); 
var configObj = {}; 
configObj.initialPosition = [40, 60]; 
viewer.viewSource(configObj);

modal

一个布尔值,用于指定 Source Viewer 应为模式 (true) 窗口还是非模式 (false) 窗口。默认情况下,Source Viewer 窗口为模式窗口。

例如,下列 JavaScript 代码将打开 Source Viewer 窗口,从而用户可以与 Source Viewer 窗口及任何应用程序窗口进行交互:

var viewer = air.SourceViewer.getDefault(); 
var configObj = {}; 
configObj.modal = false; 
viewer.viewSource(configObj);

typesToAdd

指定除所包含的默认类型之外,要在 Source Viewer 列表中包含的文件类型的字符串数组。

默认情况下,Source Viewer 将列出以下文件类型:

  • 文本文件 - TXT、XML、MXML、HTM、HTML、JS、AS、CSS、INI、BAT、PROPERTIES、CONFIG

  • 图像文件 - JPG、JPEG、PNG、GIF

    如果未指定任何值,则将包含所有默认类型(那些在 typesToExclude 属性中指定的类型除外)。

    例如,下面的 JavaScript 代码可以打开包含 VCF 文件和 VCARD 文件的 Source Viewer 窗口:

    var viewer = air.SourceViewer.getDefault(); 
    var configObj = {}; 
    configObj.typesToAdd = ["text.vcf", "text.vcard"]; 
    viewer.viewSource(configObj);

    对于列出的每个文件类型,必须指定“text”(对于文本文件类型)或“image”(对于图像文件类型)。

typesToExclude

指定要从 Source Viewer 中排除的文件类型的字符串数组。

默认情况下,Source Viewer 将列出以下文件类型:

  • 文本文件 - TXT、XML、MXML、HTM、HTML、JS、AS、CSS、INI、BAT、PROPERTIES、CONFIG

  • 图像文件 - JPG、JPEG、PNG、GIF

    例如,下面的 JavaScript 代码可以打开未列出 GIF 文件或 XML 文件的 Source Viewer 窗口:

    var viewer = air.SourceViewer.getDefault(); 
    var configObj = {}; 
    configObj.typesToExclude = ["image.gif", "text.xml"]; 
    viewer.viewSource(configObj);

    对于列出的每个文件类型,必须指定“ text ”(对于文本文件类型)或“ image ”(对于图像文件类型)。

打开 Source Viewer

应该包含用户界面元素(如,链接、按钮或菜单命令),用于在用户选择它时调用 Source Viewer 代码。例如,以下简单的应用程序将在用户单击某个链接时 Source Viewer:

<html> 
    <head> 
        <title>Source Viewer Sample</title> 
        <script type="text/javascript" src="AIRSourceViewer.js"></script> 
        <script type="text/javascript"> 
            function showSources(){ 
                var viewer = air.SourceViewer.getDefault(); 
                viewer.viewSource() 
            } 
        </script> 
    </head> 
    <body> 
        <p>Click to view the source files.</p> 
        <input type="button"  
            onclick="showSources()"  
            value="View Source" /> 
    </body> 
</html>

Source Viewer 用户界面

当应用程序调用 SourceViewer 对象的 viewSource() 方法时,AIR 应用程序将打开 Source Viewer 窗口。该窗口包含一个源文件和目录的列表(在左侧),以及显示所选文件的源代码的显示区域(在右侧):

目录以带括号的形式列出。用户可以单击大括号来展开或折叠目录列表。

Source Viewer 可以显示带有可识别扩展名(如 HTML、JS、TXT、XML 及其他)的文本文件的源代码,也可以显示带有可识别图像扩展名(JPG、JPEG、PNG 和 GIF)的图像文件的源代码。如果用户选择不带可识别文件扩展名的文件,则会显示错误消息(“无法从此文件类型获取文本内容”(Cannot retrieve text content from this filetype))。

不会列出通过 setup() 方法排除的任何源文件(请参阅 加载、配置和打开 Source Viewer )。