ฟังก์ชัน Launch และ Param
ใช้กับ: แอป Canvas
เรียกใช้เว็บเพจหรือแอปพื้นที่ทำงาน และให้การเข้าถึงพารามิเตอร์เรียกใช้
Launch
เปิดตัวเว็บเพจหรือแอปพื้นที่ทำงาน ฟังก์ชันรองรับ:
- ที่อยู่ (จำเป็น) URL ของหน้าเว็บของแอปพลิเคชันแคนวาส
- พารามิเตอร์ (ตัวเลือก) ค่าที่มีชื่อเพื่อส่งไปยังเว็บเพจหรือแอปแคนวาส ในแอปพื้นที่ทำงาน คุณสามารถอ่านพารามิเตอร์ด้วยฟังก์ชัน Param
- เป้าหมาย (ตัวเลือก) แท็บเบราว์เซอร์ที่จะใช้เปิดเว็บเพจหรือแอปแคนวาส
Launch สามารถใช้ได้กับ สูตรพฤติกรรมเท่านั้น
หมายเหตุ
หากใช้สูตร Launch เพื่อเปิด Power Apps และแอปไม่ปรากฏแก่ผู้ใช้ ขอแนะนำให้ตรวจสอบว่าแอปถูกบล็อกโดยตัวบล็อกป๊อปอัปของเบราว์เซอร์ หรือหากเบราว์เซอร์กำลังรอการตอบกลับของผู้ใช้สำหรับกล่องโต้ตอบที่ถามว่าพวกเขาต้องการไปยังหน้าจอใหม่หรือไม่
ที่อยู่
หน้าเว็บเปิดตัวผ่านที่อยู่ URL ตัวอย่าง
Launch( "https://bing.com" )
คุณสามารถเปิดใช้แอปพื้นที่ทำงานด้วย เว็บลิงก์ หรือ App URI (รหัสแอปที่นำหน้าด้วย /providers/Microsoft.PowerApps/apps/
) การหาค่าเหล่านี้สำหรับแอป:
ไปที่ Power Apps
เลือก แอป จากบานหน้าต่างนำทางด้านซ้าย
เลือกแอปของคุณ
เลือก รายละเอียด จากเมนูด้านบน
คุณยังสามารถใช้ ... (คำสั่งเพิ่มเิติม) จากนั้นเลือก รายละเอียด จากเมนูแบบหล่นลงคัดลอก เว็บลิงก์
เว็บลิงค์ สามารถใช้ในหน้าเว็บใดก็ได้และจะเปิดแอปพื้นที่ทำงาน นอกจากนี้ยังสามารถใช้กับฟังก์ชัน Launch ตัวอย่าง
Launch( "https://apps.powerapps.com/e/{environment id}/a/{app id}?tenantId={tenantId}" )
ไม่สามารถเปิดใช้แอปดั้งเดิมบนอุปกรณ์โดยตรง อาจมีตัวเลือกทางอ้อมในบางแพลตฟอร์ม เช่น แอปดั้งเดิมติดตั้ง URL แบบกำหนดเองหรือลงทะเบียนกับเว็บเบราว์เซอร์เพื่อเสนอตัวเลือกสำหรับเว็บไซต์เฉพาะ
พารามิเตอร์
Launch สามารถส่งพารามิเตอร์ไปยังเว็บเพจหรือแอปแคนวาสได้ พารามิเตอร์สามารถให้ได้สองวิธี:
รายการอาร์กิวเมนต์ของคู่ค่าชื่อ ตัวอย่างเช่น:
Launch( "https://bing.com/search", "q", "Power Apps", "count", 1 )
เรกคอร์ดของค่าฟิลด์ ตัวอย่างเช่น:
Launch( "https://bing.com/search", { q: "Power Apps", count: 1 } )
ฟอร์มนี้สามารถใช้งานได้ง่ายขึ้น เนื่องจากทำให้การเชื่อมโยงระหว่างชื่อและค่าชัดเจนขึ้น เป็นรูปแบบเดียวที่รองรับอาร์กิวเมนต์ LaunchTarget เพิ่มเติม
ที่อยู่และพารามิเตอร์นั้นมีการเข้ารหัส URL ก่อนส่งผ่าน เพื่อแทนที่อักขระที่ไม่ใช่ตัวอักษรและตัวเลขบางตัวด้วย %
และตัวเลขฐานสิบหกราวกับว่า ฟังก์ชัน EncodeUrl ถูกนำมาใช้
เมื่อเปิดเว็บเพจ สตริงการสอบถาม ของพารามิเตอร์สามารถรวมที่ส่วนท้ายของที่อยู่ URL พารามิเตอร์เพิ่มเติมใดๆ ที่มอบให้แก่ Launch จะถูกเพิ่มในตอนท้ายของสตริงการสอบถาม สตริงการสอบถามไม่ทำงานเมื่อเรียกใช้แอปพื้นที่ทำงาน
เมื่อเปิดแอปบนอุปกรณ์เคลื่อนที่ที่แอปนั้นทำงานอยู่แล้ว พารามิเตอร์จะไม่ถูกรีเฟรชในแอปที่ทำงานอยู่ จำเป็นต้องโหลดแอปซ้ำจึงจะรีเฟรชพารามิเตอร์ได้
เป้าหมาย
ใช้ อาร์กิวเมนต์ LaunchTarget เพื่อระบุหน้าต่างเบราว์เซอร์เป้าหมายที่จะเปิดหน้าเว็บหรือแอป ใช้ข้อใดข้อหนึ่งต่อไปนี้ ค่า enum LaunchTarget หรือระบุหน้าต่างแบบกำหนดเอง ชื่อ
LaunchTarget enum | รายละเอียด |
---|---|
ใหม่ | เว็บเพจหรือแอปเปิดขึ้นในหน้าต่างหรือแท็บใหม่ |
แทนที่ | เว็บเพจหรือแอปเปิดขึ้นแทนที่หน้าต่างหรือแท็บปัจจุบัน |
ชื่อ | แทนที่จะเป็นค่า enum ให้ใช้สตริงข้อความของคุณเอง ชื่อ หน้าต่างหรือแท็บ ตนเอง เป็นชื่อภายในเท่านั้น ที่ใช้โดยฟังก์ชัน Launch ไม่มีผลกระทบและจะไม่ตรงกับชื่อของหน้าต่างที่ผู้ใช้ของคุณเห็น หากหน้าต่างหรือแท็บที่มีการกำหนด ชื่อ มีอยู่แล้ว เนื้อหาจะถูกแทนที่ มิฉะนั้นหน้าต่างหรือแท็บใหม่จะถูกสร้างขึ้น ชื่อ ไม่สามารถเริ่มต้นด้วยเครื่องหมายขีดล่าง "_" ได้ |
ใหม่ เป็น enum เริ่มต้นเมื่อทำงานในเว็บเบราว์เซอร์โดยมี แทนที่ และ ชื่อ เป็นตัวเลือกที่มีให้ ในเครื่องเล่นมือถือใน ใหม่ เป็นค่าเริ่มต้นสำหรับหน้าเว็บที่มี ชื่อ เป็นตัวเลือกที่พร้อมใช้งาน ในขณะที่แอปพื้นที่ทำงานปัจจุบันจะถูกแทนที่ด้วยแอปพื้นที่ทำงานอื่นเสมอ
หมายเหตุ
- การใช้ LaunchTarget ด้วยค่าอื่นๆ ที่ไม่ใช่ ใหม่ ในสถานการณ์แบบฝัง (ตัวอย่างเช่น Power BI หรือ SharePoint) ไม่รองรับ และอาจส่งผลให้เกิดพฤติกรรมที่ไม่คาดคิด ในอนาคต ลักษณะการทำงานนี้อาจเปลี่ยนแปลง หรืออาจทำให้เกิดข้อผิดพลาด
Param
ฟังก์ชัน Param ดึงข้อมูลพารามิเตอร์ที่ส่งผ่านมายังแอปเมื่อมีการเปิดใช้งาน ถ้าไม่มีการส่งผ่านพารามิเตอร์ Param จะส่งกลับเป็น ว่างเปล่า
- เมื่อเปิดแอปพื้นที่ทำงานจากแอปพื้นที่ทำงานอื่น ให้ใช้อาร์กิวเมนต์ พารามิเตอร์ กับฟังก์ชัน Launch ชื่อพารามิเตอร์และค่าจะถูกเข้ารหัส URL โดยอัตโนมัติ
- เมื่อเรียกใช้แอปพื้นที่ทำงานจากหน้าเว็บ ให้เพิ่มพารามิเตอร์ลงใน สตริงกรสอบถาม ของ เว็บลิงค์แอปพื้นที่ทำงาน สิ่งนี้เกี่ยวข้องกับการเพิ่ม
¶metername=parametervalue
สมมติว่าสตริงการสอบถามได้เริ่มต้นแล้วสำหรับtenantId
ตัวอย่างเช่น การเพิ่ม&First%20Name=Vicki&category=3
จะผ่านสองพารามิเตอร์:First Name
ด้วยค่าของ"Vicki"
และcategory
ด้วยค่าของ"3"
(ประเภทค่าคือ ข้อความ) ชื่อพารามิเตอร์และค่าจะต้องเป็น URL ที่เข้ารหัส หากมีช่องว่างหรืออักขระพิเศษ คล้ายกับการใช้ฟังก์ชัน EncodeURL - ชื่อพารามิเตอร์ตรงตามตัวพิมพ์ใหญ่-เล็ก
- ชื่อพารามิเตอร์และค่าจะถูกถอดรหัส URL โดยอัตโนมัติเพื่อใช้ในแอปของคุณ
- ค่าพารามิเตอร์จะไม่เปลี่ยนแปลงเว้นแต่จะโหลดแอปซ้ำ การใช้ เปิดใช้ บนอุปกรณ์เคลื่อนที่ที่แอปทำงานอยู่แล้วจะไม่รีเฟรชพารามิเตอร์
- แม้ว่าพารามิเตอร์จะมีตัวเลข แต่ชนิดที่ถูกส่งกลับโดย Param จะเป็นสตริงข้อความเสมอ การแปลงเป็นชนิดอื่นจะเกิดขึ้นโดยอัตโนมัติหรือใช้การแปลงที่ชัดเจนเช่น ฟังก์ชัน Value แปลงอย่างชัดเจนเป็นตัวเลข
หมายเหตุ
สำหรับ เพจที่กำหนดเอง พารามิเตอร์ที่เพจยอมรับมีเฉพาะ: recordId และ entityName
ไวยากรณ์
เปิดตัว( ที่อยู่ [, ชื่อพารามิเตอร์1, ค่าพารามิเตอร์1, ... ] )
- ที่อยู่ – จำเป็น ที่อยู่ของเว็บเพจหรือ ID ของแอปที่ต้องการเปิดใช้งาน
- ParameterNames – ไม่บังคับ ชื่อพารามิเตอร์
- ค่าพารามิเตอร์ – ไม่บังคับ เป็นค่าพารามิเตอร์ที่สอดคล้องกันเมื่อต้องการส่งผ่านไปยังแอปหรือเว็บเพจ
เปิดตัว( ที่อยู่, { [ ชื่อพารามิเตอร์1: ค่าพารามิเตอร์1, ... ] } [, เป้าหมายการเปิดตัว ] )
- ที่อยู่ – จำเป็น ที่อยู่ของเว็บเพจหรือ ID ของแอปที่ต้องการเปิดใช้งาน
- ParameterNames – ไม่บังคับ ชื่อพารามิเตอร์
- ค่าพารามิเตอร์ – ไม่บังคับ เป็นค่าพารามิเตอร์ที่สอดคล้องกันเมื่อต้องการส่งผ่านไปยังแอปหรือเว็บเพจ
- LaunchTarget – ไม่บังคับ ค่า enum LaunchTarget หรือ ชื่อ แบบกำหนดเอง
พารามิเตอร์( ชื่อพารามิเตอร์ )
- ParameterName - จำเป็น ชื่อของพารามิเตอร์ที่ส่งผ่านไปยังแอป
พารามิเตอร์ที่สงวนไว้
คำสำคัญต่อไปนี้สงวนไว้ (ไม่คำนึงถึงตัวพิมพ์) สำหรับใช้ภายในและไม่ควรใช้เป็นพารามิเตอร์ที่กำหนดเองในฟังก์ชัน Param():
- amp%3Bauthmode
- amp%3Benableonbehalfof
- amp%3Bhidenavbar
- amp%3Blocale
- appmetadataversion
- authmode
- channeltype
- cordovapath
- correlationid
- ดีบัก
- delegatelaunchurl
- delegatelaunchurl
- disablepreviewredirect
- embedderorigin
- enableonbehalfof
- groupid
- hideappsplash
- hidenavbar
- hint
- hostclienttype
- hostmode
- iframecontainerid
- isfullscreen
- ispreviewmode
- loader
- loaderType
- locale
- ตำแหน่งที่ตั้ง
- packagekind
- packageproperties
- playerresourcespath
- playersessionid
- powerappslanguage
- screencolor
- sdkversion
- site
- skipappmetadata
- skipiframecreation
- skiplaunchappcache
- ต้นทาง
- sourcetime
- standaloneconsent
- teamid
- teamtype
- tenantId
- theme
- uselocalpackagehostresources
- userteamrole
ตัวอย่าง
การเปิดใช้แบบง่าย
จากแอปพื้นที่ทำงานไปเว็บเพจ
สูตร | คำอธิบาย |
---|---|
เปิดตัว( "http://bing.com/search", "q", "Power Apps", "นับจำนวน", 1 ) |
เปิดเว็บเพจ https://bing.com/search?q=Power%20Apps&count=1 หน้าต่างหรือแท็บใหม่เปิดขึ้น |
เปิดตัว( "http://bing.com/search", { q: "Power Apps", นับจำนวน: 1 } ) |
เช่นเดียวกับตัวอย่างก่อนหน้านี้ โดยใช้เครื่องหมายบันทึกเทียบเท่า หน้าต่างหรือแท็บใหม่เปิดขึ้น |
เปิดตัว( "http://bing.com/search", { q: "Power Apps", นับจำนวน: 1 }, LaunchTarget.Replace ) |
เช่นเดียวกับตัวอย่างก่อนหน้านี้ แทนที่หน้าต่างหรือแท็บปัจจุบันด้วยผลลัพธ์หากทำงานในเว็บเบราว์เซอร์ |
เปิดตัว( "http://bing.com/search", { q: "Power Apps", นับจำนวน: 1 }, "ผลการค้นหา" ) |
เช่นเดียวกับตัวอย่างก่อนหน้านี้ การสร้างหรือแทนที่เนื้อหาของหน้าต่างหรือแท็บชื่อ ผลการค้นหา |
จากแอปพื้นที่ทำงานไปแอปพื้นที่ทำงาน
อัปเดต ID แอป ชื่ออหน้าจอ และหมายเลขเรกคอร์ด ตามความเหมาะสม
Launch( "/providers/Microsoft.PowerApps/apps/YOUR-APP-ID",
{ Navigate: "Second Screen", Record: 34 }
)
จากเว็บเพจไปแอปพื้นที่ทำงาน
อัปเดต ID แอป ID ผู้เช่า ชื่ออหน้าจอ และหมายเลขเรกคอร์ด ตามความเหมาะสม
<html>
<body>
<a
href="https://apps.powerapps.com/play/e/YOUR-APP-ENVIRONMENT-ID/a/YOUR-APP-ID?tenantId=YOUR-TENANT-ID&Navigate=Second%20Screen&Record=34"
>
Launch canvas app
</a>
</body>
</html>
พารามิเตอร์แบบง่าย
ตัวอย่างการเปิดใช้งานอย่างง่ายด้านบน เพื่อเปิดแอปพื้นที่ำทำงาน จากเว็บเพจ หรือ จากแอปพื้นที่ทำงานอื่น แสดงตัวอย่างง่ายๆ สำหรับฟังก์ชัน Param:
สูตร | คำอธิบาย | ผลลัพธ์ |
---|---|---|
Param( "นำทาง") | พารามิเตอร์ Navigate มีการระบุเมื่อเปิดใช้แอปและส่งคืน | "หน้าจอที่สอง" |
Param( "บันทึก") | พารามิเตอร์ Record มีการระบุเมื่อเปิดใช้แอปและส่งคืน แม้ว่าจะถูกส่งผ่านเป็นตัวเลขไปยัง ฟังก์ชัน Launch ผลลัพธ์จาก Param จะเป็นสตริงข้อความที่สามารถแปลงเป็นประเภทอื่นโดยปริยายหรืออย่างชัดเจน | "34" |
Param( "ผู้ใช้") | พารามิเตอร์ User ไม่ได้ถูกระบุ ค่า ว่างเปล่า ถูกส่งคืนค่า ซึ่งสามารถทดสอบได้ด้วยฟังก์ชัน IsBlank | ว่างเปล่า |
ตัวอย่างทีละขั้นตอน สำหรับ Launch และ Param
เท็มเพลตเค้าโครงแท็บเล็ต Product Showcase ถูกใช้สำหรับตัวอย่างต่อไปนี้ การสร้างแอปด้วยเทมเพลตนี้ ให้ทำตามขั้นตอนจากบทความ สร้างแอป และเลือก เทมเพลต Product Showcase คุณสามารถใช้แอปของคุณเอง
ตัวอย่าง - Launch
ไปที่ Power Apps
เลือก แอป จากบานหน้าต่างนำทางด้านซ้าย
เลือกแอปของคุณ จากนั้นเลือก แก้ไข
เลือก แทรก จากเมนู แล้วเลือก ป้ายกำกับ
ย้ายป้ายกำกับไปที่ด้านล่างขวาของหน้าจอ
จากบานหน้าต่างคุณสมบัติทางด้านขวา ให้เลือก สี เป็น ขาว และตั้งค่า ความหนาขอบ ที่ 1
เลือกคุณสมบัติ Text จากด้านขวา และป้อนข้อความเป็น Surface tablets in news
จากรายการคุณสมบัติที่ด้านซ้ายบน ให้เลือก OnSelect
ป้อนสูตรเป็น
Launch("https://www.bing.com/news/search","q","Microsoft Surface tablets")
คุณยังสามารถใช้ URL พารามิเตอร์ และคีย์เวิร์ด อื่นใดๆ ได้ตามต้องการบันทึกและเผยแพร่แอป
เล่นแอป
เลือกป้ายกำกับ แท็บเล็ต Surface ในข่าว เพื่อเปิดการค้นหาข่าวด้วยคำสำคัญ Microsoft แท็บเล็ต Surface
เคล็ดลับ
เพื่อความยืดหยุ่น คุณสามารถแทนที่คีย์เวิร์ดที่ป้อนด้วยตนเองในฟังก์ชัน Launch ด้วย ตัวแปร
ตัวอย่าง - Param
ไปที่ Power Apps
เลือก แอป จากบานหน้าต่างนำทางด้านซ้าย
เลือกแอปของคุณ จากนั้นเลือก แก้ไข
เลือก แทรก จากเมนู แล้วเลือก ป้ายกำกับ
ย้ายป้ายกำกับไปที่ด้านล่างขวาของหน้าจอ
เลือกคุณสมบัติ Text สำหรับป้ายกำกับจากด้านบนซ้าย
ป้อนสูตรเป็น
Param("browser")
คุณยังสามารถใช้พารามิเตอร์อื่นที่คุณเลือกบันทึกและเผยแพร่แอป
สำเนา เว็บลิงค์ สำหรับแอปของคุณจาก Power Apps
เปิดในเบราว์เซอร์ใหม่
วางลิงค์ของแอปในเบราว์เซอร์ และผนวก
&browser=Microsoft%20Edge
ในตอนท้ายเมื่อแอปของคุณเริ่มทำงาน ป้ายกำกับจะแสดงค่าพารามิเตอร์ที่ส่งผ่าน
ปิดตัวเล่นแอปและแก้ไขแอป
เลือก App จากมุมมองแบบต้นไม้บนการนำทางด้านซ้าย
เลือกคุณสมบัติ StartScreen ด้านบนซ้าย
ป้อนสูตรเป็น
If( Param("screen") = "techspecs", TechSpecs )
หากฟังก์ชัน ในคุณสมบัติ StartScreen ตรวจสอบว่าพารามิเตอร์เท่ากับค่าที่กำหนดหรือไม่ ในกรณีนี้คือค่า techspecs และหากตรงกัน ให้ส่งคืนตัวควบคุมหน้าจอ TechSpecs ไปยังคุณสมบัติ StartScreen
หมายเหตุ
แทนที่ชื่อตัวควบคุม TechSpecs ในฟังก์ชัน If ด้วยชื่อของตัวควบคุมหน้าจอในแอปของคุณเอง หากคุณไม่ได้ใช้เทมเพลตแอป Product Showcase
บันทึกและเผยแพร่แอป
เปิดในเบราว์เซอร์ใหม่
วางลิงค์ของแอปในเบราว์เซอร์ และผนวก
&screen=techspecs
ในตอนท้ายแอปเปิดตัวโดยตรงโดยมี TechSpecs เป็น startscreen