Detect selection of disabled internal links within nested content
By monitoring and responding to user selections in the disabled link service, the problem of disabling internal links in the sandbox environment cannot be detected, and the functionality and security of links are achieved.
Patent Information
- Application Number
- CN201980062865.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-09-26
- Filing Date
- 2019-09-23
- Publication Date
- 2025-02-25
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
With the "sandbox" flag enabled, internal links within third-party content cannot be detected, causing these links to appear "disconnected" to the user.
Provides a disabled link service that monitors and detects user selections for disabled internal links and displays the corresponding target section by scrolling the document.
Even if internal links are disabled, they can still correctly detect and respond to user selections, ensuring the functionality of the link and preventing malicious script attacks.
Smart Images

Figure CN112771519B_ABST
Abstract
Description
[0001] Related Applications
[0002] This application claims priority to U.S. patent application serial number 16 / 142,493, filed on September 26, 2018, entitled “Detecting Selection of Disabled Inner Links Within Nested Content,” the entire disclosure of which is incorporated herein by reference in its entirety. Background Art
[0003] The common technique of placing the third-party content obtained from a third-party source (e.g., document, report, image or video) into a web page is to insert the third-party content into the HTML inline frame element (iframe) of the web page. An iFrame is an HTML element that allows external third-party content to be embedded in an HTML document. Different from the traditional framework for creating the structure of a web page, an iframe can be inserted into any place in a web page layout. In some cases, such third-party content can include an "internal link" in the third-party content, which is linked to the corresponding target portion of the third-party content. For example, a third-party document can have a table of content pages, which includes links to each target portion of a document, so that the selection of the internal link causes the document to "jump" to the associated target portion.
[0004] Conventionally, an executable script (e.g., JavaScript) of third-party content automatically detects a user selection of an internal link within the third-party content and reports the selection to the parent document so that the parent document can display the associated target portion of the third-party content. However, for security reasons, developers may render third-party content within a parent document with a "sandbox" flag enabled, which disables executable scripts within the third-party content. With executable scripts disabled, user selections of internal links cannot be intercepted, and therefore these types of internal links will appear "broken" to the user. Summary of the invention
[0005] This article describes a technology for detecting a selection to disable internal links within nested content. In one or more implementations, a service provider system obtains third-party content from a third-party source. The third-party content includes one or more internal links to a corresponding target portion within the third-party content. The service provider system disables one or more internal links of the third-party content, and then embeds the third-party content with the disabled internal links into a document. In order to be able to detect the disabled internal links, the service provider system provides a disabled link service for the document. The disabled link service is configured to detect a user selection to disable internal links, and determine a scroll position that can be used to scroll the document so that the corresponding target portion of the third-party content is displayed.
[0006] In one or more implementations, a document including nested content is displayed on a display of a computing device. The nested content is obtained from a third-party source and includes one or more disabled internal links to corresponding target portions within the nested content. A disabled link service monitors an address associated with the third-party source of the nested content to detect an address change corresponding to a user selection of one of the disabled internal links within the nested content. In response to detecting the address change, the corresponding target portion of the nested content associated with the selected internal link is located by scanning the nested content. The document is then scrolled so that the target portion of the nested content is displayed on the display of the computing device.
[0007] This Summary introduces a series of concepts in a simplified form that will be further described in the following Detailed Description. Therefore, this Summary is not intended to identify essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] Detailed description is given with reference to the accompanying drawings.
[0009] Figure 1 is an illustration of an example environment that may employ the techniques described herein.
[0010] Figure 2 A more detailed description is given showing Figure 1 An example system 200 for disabling operation of a link service 128 is provided.
[0011] Figure 3A and Figure 3B An example of scrolling a document having nested content that contains an internal link to a target section within the nested content corresponding to a selected internal link is shown.
[0012] Figure 4 Examples of determining a scroll position in accordance with one or more implementations are shown.
[0013] Figure 5 Depicted is an example process for embedding third-party content with disabled internal links into a document in accordance with one or more implementations.
[0014] Figure 6 Depicted is an example process of scrolling a document to display a target portion of nested content associated with a selected internal link in accordance with one or more implementations.
[0015] Figure 7 An example system is shown that includes an example computing device that is representative of one or more computing systems and / or devices that may implement the various techniques described herein. DETAILED DESCRIPTION
[0016] Overview
[0017] This article describes a technique for detecting a selection to disable internal links within nested content. The described technique can detect a user selection of an internal link within nested content displayed within a document, even when such an internal link is disabled. In one or more implementations, a service provider system obtains third-party content from a third-party source. The third-party content includes one or more internal links to a corresponding target portion within the third-party content. For example, the internal link is configured to cause navigation to a corresponding target portion within the third-party content in response to a user selection. It is noteworthy that internal links are described herein as links within content to different portions of the same content, and are therefore distinguished from external links within the third-party content that link to a source (e.g., a remote webpage) external to the third-party content.
[0018] The service provider system embeds third-party content into a document, such as an HTML document accessible through a network as a web page. As described herein, the content (e.g., third-party content) embedded into a document is referred to as nested content. In one or more implementations, the nested content is embedded into an HTML inline frame element (iframe) of the document. When embedding nested content, the service provider system disables internal links within the nested content. As described herein, disabling internal links corresponds to the disabled internal links of the nested content, so that the user selection of disabling internal links does not result in automatic navigation to the corresponding target portion.
[0019] In some cases, for security reasons, internal links are disabled by rendering the nested content within the parent document with the "sandbox" flag enabled. Doing so disables executable scripts (e.g., JavaScript) within the nested content. When executable scripts are disabled, conventional solutions cannot detect user selections of internal links, and therefore these types of internal links will appear "broken" to the user.
[0020] In order to be able to detect the disabled internal links in the nested content, the service provider system provides a disabled link service for the document. The disabled link service is configured to detect the user selection of the disabled internal link, and determine the scroll position that can be used to scroll the document so that the corresponding target portion of the nested content is displayed. Even if the internal link is disabled, the user selection of the internal link also updates the address (e.g., iframe URL) of the nested content. Therefore, the disabled link service is configured to monitor the address of the third-party source of the nested content to detect the address change corresponding to the user selection of one of the disabled internal links in the nested content at the computing device. In response to detecting the address change indicating the user selection of the internal link, the disabled link service locates the corresponding target portion of the nested content associated with the selected internal link by scanning the nested content. Then scroll the document so that the target portion of the nested content is displayed on the display of the computing device. It is worth noting that the nested content itself does not scroll or move in the document, but scrolls the document to display the target portion of the nested content.
[0021] Thus, unlike conventional solutions, the described techniques enable disabled internal links within nested content to function correctly even when the sandbox flag is enabled (e.g., by scrolling to the corresponding target section when the disabled link is selected). Doing so ensures that a document such as a web page is not attacked by malicious scripts in the nested content, while at the same time enabling display of an otherwise unmodified version of the nested content. Thus, the described techniques provide a solution that is acceptable to both providers of parent web pages and providers of nested content.
[0022] Example Environment
[0023] Figure 1 is an illustration of an example environment employing the techniques described herein. The example shown includes a client computing device 102 and a service provider system 104 communicatively coupled via a network 106. Computing devices that can be used to implement the computing device 102 and the service provider system 104 can be configured in various ways. For example, the computing device can be configured as a desktop computer, a laptop computer, a mobile device (e.g., assuming a handheld configuration such as a tablet or mobile phone), a wearable device (e.g., a smart watch, a smart ring, a fitness band, smart glasses), a virtual reality device, an augmented reality device, a holographic device, etc. Thus, the computing device can range from a full-resource device with large amounts of memory and processor resources (e.g., a personal computer, a game console) to a low-resource device with limited memory and / or processing resources (e.g., a mobile device). Additionally, the computing device can represent multiple different devices, for example, as described with respect to Figure 7 Further described are multiple commercial servers for performing operations in the "cloud".
[0024] The service provider system 104 provides services to client devices, such as the client computing device 102, which are accessible via the network 106. In some cases, the service provider system 104 publishes the generated digital content in conjunction with the obtained information via a distribution platform. For example, the service provider system 104 publishes the generated digital content via an e-commerce platform (e.g., ) discloses digital content configured as a listing for sale. Although a single service provider system 104 is depicted in the illustrated example 100, the computing device 102 is configured to access the following multiple service providers via the network 106 to utilize their respective services: for example, a first service provider for performing a search based on a search query input, and a second service provider for disclosing a listing based on the obtained listing information.
[0025] The illustrated example also includes a third-party source 108 having a corresponding address 110. The third-party source 108 may correspond to a web page associated with a URL address, for example. The service provider system 104 obtains third-party content 112 from the third-party source 108, such as via the network 106. For example, the third-party content 108 may correspond to a document, a report, an image, a video, or any other type of content. The third-party content 112 includes one or more internal links 114 to corresponding target portions 116 within the third-party content 112. For example, the internal link 114 is configured to cause navigation to the corresponding target portion 116 within the third-party content 112 in response to a user selection. It is noteworthy that the internal link 114 is described herein as a link within the content to a different portion of the same content, and is therefore distinguished from an external link within the third-party content that links to a source external to the third-party content.
[0026] The service provider system 104 is shown to include a content embedding module 118 ("embedding module 118"), which represents the functionality of the service provider system 104 to embed third-party content 112 into a document 120 provided by the service provider system 104 via the network 106. For example, such a document 120 may correspond to an HTML document accessible as a web page via the network 106. As described herein, content (e.g., third-party content 112) embedded into a document 120 by the embedding module 118 is referred to as nested content 121.
[0027] In one or more implementations, the embedding module 118 embeds the nested content 121 into an HTML inline frame element (iframe) of the HTML document 120. An iframe is an HTML element that allows external third-party content to be embedded into an HTML document. Unlike traditional frames used to create a web page structure, an iframe can be inserted anywhere within a web page layout. The embedding module 118 can insert the nested content 121 into the document 120 using an iframe tag that inserts the third-party content 112 into the document 120. The iframe tag may include, for example, a third-party source address 110 of the third-party content. An example of an iframe tag is reproduced below:
[0028] <iframe
[0029] Src="http: / / website.com / example.php" width="728" height="90">
[0030]
[0031] In the above example, the iframe tag identifies the address 110 ("http: / / website.com / example.php") of the third-party content source 108 of the third-party content 112, as well as width and height attributes that define the size of the iframe within the document 120. It is worth noting that the width and height attributes are not required, and the iframe tag may also include other attributes, such as margin width and height.
[0032] To safely insert the nested content 121 into the document 120, the embedding module 118 disables the internal link 114 to generate a disabled internal link 122. As described herein, the disabled internal link 122 corresponds to an internal link 114 of the nested content 121 that has been disabled, such that a user selection of the disabled internal link does not result in an automatic navigation to the corresponding target portion 116. For example, the disabling may correspond to disabling an executable script associated with the nested content 121 that is configured to monitor a user selection of the internal link, report the selection, and / or cause navigation to the corresponding target portion.
[0033] In some cases, for security reasons, internal links are disabled by presenting the nested content 121 within the parent document 120 with the "sandbox" flag enabled. Doing so disables executable scripts (e.g., JavaScript) within the nested content 121. When executable scripts are disabled, conventional solutions cannot provide a user option to detect internal links, and therefore these types of internal links will appear "broken" to the user. It is worth noting that although the sandbox flag may be enabled, the nested content 121 may be presented in an unmodified form within the document 120. The document 120 with the embedded nested content 121 and disabled internal links 122 is shown as being stored in a storage device 124 at the service provider system 104.
[0034] The client computing device 102 is shown with a communication module 126, which represents functionality for enabling communication with the service provider 104. The communication module 126 may be configured, for example, as a web browser or application, etc., which is configured to access the document 120 with the nested content 121, such as by navigating to the corresponding address (e.g., URL) of the document 120 of the service provider system 104.
[0035] The service provider system 104 is also shown as providing a disabled link service 128, which represents functionality that monitors and detects user selection of a disabled internal link 122 in the nested content 121, and then scrolls the document 120 to display the corresponding target portion 116 of the selected internal link. Notably, the disabled link service 128 does so without the use of an executable script of the nested content 121. Although the functionality of the disabled link service 128 is shown as being implemented at the service provider system 104 and remote from the client computing device 102, it may also be implemented locally at the client computing device 102 in whole or in part, such as as part of a web browser or application executed at the client device or as code inserted into the nested content 121.
[0036] Figure 2 A more detailed description is given showing Figure 1 An example system 200 for disabling operation of a link service 128 is provided.
[0037] In system 200, communication module 126 at client computing device 102 displays document 120 with nested content 121. As discussed throughout, nested content 121 may correspond to third-party content 112 obtained from third-party source 108 and embedded into document 120 by embedding module 118. For example, consider Figure 3A and Figure 3B , which shows an example 300 of scrolling a document having nested content that contains an internal link to a target section within the nested content corresponding to a selected internal link. Figure 3A, the client computing device 102 displays the document 120 on the display screen 302 of the client computing device 102. In this example, the document 120 corresponds to a web page for purchasing a vehicle. The document 120 includes nested content 121, which in this example is shown to include a visible portion 304 and a non-visible portion 306. As described herein, the visible portion 304 corresponds to a portion of the nested content 121 that is currently displayed on the display screen 302 of the client computing device 102, and the non-visible portion 306 corresponds to a different portion of the nested content 121 that is not currently displayed on the display screen 302.
[0038] In this example, consider that the nested content 121 is obtained from a third-party website with the address "www.vehiclehistoryreport.com". The nested content 121 includes internal links 308-1, 308-2, and 308-3 to corresponding target portions 310, in this example, the nested content 121 includes internal links to the "accident check" target portion 310-1 of the nested content 121, the "odometer check" target portion 310-2 of the nested content 121, and the "header check" target portion 310-3 of the nested content 121. As discussed throughout, when the nested content 121 is embedded in the document 120, the embedding module 118 disables the internal links 308. Disabling the internal links 308 prevents automatic navigation to the corresponding target portion 310 when the internal links 308 are selected. For example, disabling can correspond to disabling an executable script, such as JavaScript, associated with the nested content 121. In some cases, for security reasons, internal links 308 are disabled by rendering nested content 121 within document 120 with a "sandbox" flag enabled.
[0039] In the example 300, the displayed internal link 308 is visible on the display screen 302, while the corresponding target portion 310 is not visible. However, it should be understood that the internal link 308 and the target portion 310 may be visible or not visible based on the current display position of the document 120 on the display screen 302 of the client computing device 102.
[0040] The illustrated example 300 is also depicted as having a cursor 312. In the following examples, the display of the cursor generally indicates the focus of the user input relative to the user interface. However, it is understood that the cursor 312 only indicates the user input focus. In a scenario where user input is received using touch functionality, user gestures (e.g., hand, voice, or eye movement), or a stylus device, for example, the cursor 312 may not be displayed in conjunction with the document 120. In some cases, user input may be received via user interaction with a holographic display device, such as a head-mounted virtual reality or augmented reality device. However, in situations involving mouse-based input, the cursor 312 may still be displayed.
[0041] In system 200, disabled link service 128 is shown to include monitoring module 202, location determination module 204, and scrolling module 206. Monitoring module 202 represents functionality for monitoring address 110 of third-party source 108 providing nested content, such as a URL of a third-party website. Monitoring module 202 monitors address 110 to detect address change 208 corresponding to a user selection of one of disabled internal links 122 within nested content 121. User selection of disabled internal link 212 updates the address (e.g., iFrame URL) of nested content 121 even if the internal link is disabled. Return Figure 3A , for example, the user controls the cursor 312 to select the "Odometer Check" internal link 308-2 displayed within the nested content 121. Doing so causes the URL address of the vehicle history report to become "www.vehiclehistoryreport.com#odometercheck". Therefore, even if the selection of the link does not cause automatic navigation to the corresponding target portion, the monitoring module 202 detects the address change, and based on the detection, it can be determined that the user has selected the internal link. The monitoring module 202 is implemented to monitor the address change 208, for example, by periodically (e.g., every 200ms) checking the address 110 associated with the nested content 121.
[0042] In response to detecting the address change, the monitoring module 202 of the disabled link service 128 generates disabled link data 210 including the selected disabled internal link 212 and the target portion 214 associated with the selected internal link. The address change 208 provides an identifier of the selected disabled internal link 212, and thus the monitoring module 202 can identify the selected internal link based on the address change. The monitoring module 202 then locates the corresponding target portion 214 by scanning the nested content 121 to locate the corresponding target portion 214.
[0043] The position determination module 204 of the disabled link service 128 determines position data 215 that can be used by the scroll module to scroll the document 120 so as to display the target portion 214 of the nested content 121. The position data 215 includes a scroll position 216 of the corresponding target portion 214. The scroll position 216 corresponds to the position of the corresponding target portion 214 of the nested content 121 in the document 120. The scroll module 206 obtains the scroll position 216 and scrolls the document 120 to the scroll position 216 so that the target portion 214 of the nested content 121 is displayed. It is worth noting that the scroll module 206 scrolls the document 120, rather than the nested content 121, so as to display the target portion 214. In other words, the nested content 121 itself is not scrolled or moved within the document 120, but the document 120 is scrolled so as to display the target portion 214 of the nested content 121. For example, consider Figure 3B , where the document 120 has been scrolled so that the target portion 310 - 2 (eg, odometer check) associated with the selected internal link 308 - 2 is now displayed on the display screen.
[0044] The scroll position 216 of the corresponding target portion 214 of the selected internal link can be determined in a variety of different ways by the position determination module 204. In some cases, the position determination module 204 determines the scroll position 216 based on the nested content offset 218 corresponding to the position of the nested content 121 relative to the document 120 and the target portion offset 220 corresponding to the position of the target portion 214 relative to the nested content 121.
[0045] For example, consider Figure 4 , which illustrates an example 400 of determining a scroll position according to one or more implementations. In the example 400, the nested content offset 218 can be calculated by the position determination module 204 as a distance from a document top position 402 of the document 120 to a nested content start position 404 of the nested content 121 within the document 121. Similarly, the target portion offset 220 can be calculated by the position determination module 204 as a distance from the nested content start position 404 of the nested content 121 to a target portion start position 406 of the target portion 214 within the nested content 121. The position determination module 204 then determines the scroll position 216 based on the nested content offset 218 and the target portion offset 220, for example, by calculating the sum of the nested content offset 218 and the target portion offset 220.
[0046] Example Process
[0047] This section describes an example process for detecting a selection to disable internal links within a nested content technology. Aspects of the process can be implemented in hardware, firmware, software, or a combination thereof. The process is shown as a set of blocks that specify operations performed by one or more devices, and is not necessarily limited to the order shown for performing the operations by the various blocks.
[0048] Figure 5 Describe the example process 500 of embedding third-party content with disabled internal links into a document according to one or more implementations. To begin process 500, third-party content is obtained from a third-party source, wherein the third-party content includes one or more internal links to corresponding target portions within the third-party content (block 502). As an example, a service provider system 104 obtains third-party content 112 from a third-party source 108, such as through a network 106. For example, the third-party content 112 may correspond to a document, a report, an image, a video, or any other type of content. The third-party content 112 includes one or more internal links 114 to corresponding target portions 116 within the third-party content 112. For example, the internal link 114 is configured to cause navigation to a corresponding target portion 116 within the third-party content 112 in response to a user selection.
[0049] One or more internal links of the third-party content are disabled (block 504), and the third-party content with the disabled internal links is embedded into the document (block 506). For example, the embedding module 118 of the service provider system 104 embeds the third-party content 112 into a document 120 provided by the service provider system 104 via the network 106. For example, such a document 120 may correspond to an HTML document accessible as a web page via the network 106. In some cases, the embedding module 118 embeds the third-party content 112 into an HTML inline frame element (iFrame) of the document 120.
[0050] In order to safely insert the nested content 121 into the document 120, the embedding module 118 disables the internal link 114 to generate a disabled internal link 122. For example, the disablement may correspond to disabling an executable script associated with the nested content 121, which is configured to monitor the user selection of the internal link, report the selection, and / or enable navigation to the corresponding target portion. In some cases, for security reasons, the internal link is disabled by presenting the nested content 121 in the parent document 120 when the "sandbox" flag is enabled. This disables the executable script (e.g., JavaScript) in the nested content 121. When the executable script is disabled, conventional solutions cannot detect the user selection of the internal link, and therefore these types of internal links will appear to the user as "disconnected". It is worth noting that although the sandbox flag can be enabled, the nested content 121 can be presented in the document 120 in an unmodified form. The document 120 with the embedded nested content 121 and the disabled internal link 122 is shown as being stored in the storage device 124 at the service provider system 104.
[0051] A disabled link service is provided for the document, wherein the disabled link service is configured to detect a user selection of a disabled internal link and determine a scroll position that can be used to scroll the document so that a corresponding target portion of the third-party content is displayed (block 508). As an example, the service provider system 104 provides the disabled link service 128 to monitor and detect a user selection of a disabled internal link 122 in the nested content 121, and then scroll the document 120 to display the corresponding target portion 116 of the selected internal link. Notably, the disabled link service 128 does this without using an executable script of the nested content 121.
[0052] Figure 6 An example process 600 of scrolling a document to display a target portion of nested content associated with a selected internal link is depicted according to one or more implementations. To begin process 600, a document including nested content is displayed on a display of a computing device, wherein the nested content is obtained from a third-party source and includes one or more disabled internal links to corresponding target portions within the nested content (block 602). As an example, a communication module 126 at a client computing device 102 displays a document 120 having nested content 121 obtained from a third-party source 108 and embedded into the document 120 by an embedding module 118. The nested content 121 includes one or more disabled internal links 122 to corresponding target portions 116 within the nested content 121.
[0053] An address associated with a third-party source of the nested content is monitored to detect an address change corresponding to a user selection of one of the disabled internal links within the nested content (block 604). For example, the monitoring module 202 of the disabled link service 128 monitors the address 110 of the third-party source 108 that provides the nested content, such as a URL of a third-party website. The monitoring module 202 monitors the address 110 to detect an address change 208 corresponding to a user selection of one of the disabled internal links 122 within the nested content 121. The user selection of the disabled internal link 212 updates the address (e.g., iframe URL) of the nested content 121 even if the internal links are disabled.
[0054] In response to detecting the address change, the corresponding target portion of the nested content associated with the selected internal link is located by scanning the nested content (block 606). For example, in response to detecting the address change, the monitoring module 202 of the disabled link service 128 generates disabled link data 210 including the selected disabled internal link 212 and the target portion 214 associated with the selected internal link. The address change 208 provides an identifier of the selected disabled internal link 212, and thus the monitoring module 202 can identify the selected internal link based on the address change. The monitoring module 202 then locates the corresponding target portion 214 by scanning the nested content 121 to locate the corresponding target portion 214.
[0055] The document is scrolled so that the target portion of the nested content is displayed on the display of the computing device (block 608). For example, the position determination module 204 of the disabled link service 128 determines the position data 215, which can be used by the scroll module to scroll the document 120 so as to display the target portion 214 of the nested content 121. The position data 215 includes a scroll position 216 of the corresponding target portion 214. The scroll position 216 corresponds to the position of the corresponding target portion 214 of the nested content 121 in the document 120. The scroll module 206 obtains the scroll position 216 and scrolls the document 120 to the scroll position 216 so that the target portion 214 of the nested content 121 is displayed. It is worth noting that the scroll module 206 scrolls the document 120, rather than the nested content 121, so as to display the target portion 214. In other words, the nested content 121 itself does not scroll or move within the document 120, but the document 120 is scrolled so as to display the target portion 214 of the nested content 121.
[0056] The scroll position 216 of the corresponding target portion 214 of the selected internal link can be determined in a variety of different ways by the position determination module 204. In some cases, the position determination module 204 determines the scroll position 216 based on the nested content offset 218 corresponding to the position of the nested content 121 relative to the document 120 and the target portion offset 220 corresponding to the position of the target portion 214 relative to the nested content 121.
[0057] Having described example procedures in accordance with one or more implementations, consider now example systems and apparatus that can be used to implement the various techniques described herein.
[0058] Example Systems and Apparatus
[0059] Figure 7 An example system, generally at 700, is shown including an example computing device 702, which is representative of one or more computing systems and / or devices that may implement the various techniques described herein. This is illustrated by including disabling link service 128. Computing device 702 may be, for example, a server of a service provider, a device associated with a client (e.g., a client device), a system on a chip, and / or any other suitable computing device or computing system.
[0060] The illustrated example computing device 702 includes a processing system 704, one or more computer-readable media 706, and one or more I / O interfaces 708 communicatively coupled to one another. Although not shown, the computing device 702 may also include a system bus or other data and command transmission system coupling the various components to one another. The system bus may include any one of the following different bus structures or a combination of different bus structures: for example, a memory bus or memory controller, a peripheral bus, a universal serial bus, and / or a processor or local bus utilizing any of a variety of bus architectures. Various other examples are also contemplated, such as control and data lines.
[0061] Processing system 704 represents the functionality of performing one or more operations using hardware. Therefore, processing system 704 is shown as including hardware elements 710 that can be configured as processors, functional blocks, etc. This can include implementation in the form of hardware as a dedicated integrated circuit or other logic device formed using one or more semiconductors. Hardware elements 710 are not limited by the materials from which they are formed or the processing mechanisms employed herein. For example, a processor may include (one or more) semiconductors and / or transistors (e.g., electronic integrated circuits (ICs)). In this context, processor executable instructions may be electronic executable instructions.
[0062] Computer-readable storage media 706 is shown to include memory / storage 712. Memory / storage 712 represents the capacity of memory / storage associated with one or more computer-readable media. Memory / storage component 712 may include volatile media (e.g., random access memory (RAM)) and / or non-volatile media (e.g., read-only memory (ROM), flash memory, optical disk, magnetic disk, etc.). Memory / storage component 712 may include fixed media (e.g., RAM, ROM, fixed hard disk drive, etc.), as well as removable media (e.g., flash memory, removable hard disk drive, optical disk, etc.). Computer-readable media 706 may be configured in various other ways as further described below.
[0063] Input / output interface 708 represents functionality that allows a user to input commands and information to computing device 702, and also allows information to be presented to the user and / or other components or devices using various input / output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, a touch function (e.g., a capacitive or other sensor configured to detect physical touch), a camera device (e.g., which may employ visible light wavelengths or invisible light wavelengths such as infrared frequencies to identify movement as gestures that do not involve touch), etc. Examples of output devices include a display device (e.g., a monitor or projector), a speaker, a printer, a network card, a tactile response device, etc. Thus, as further described below, computing device 702 may be configured in various ways to support user interaction.
[0064] Various techniques may be described herein in the general context of software, hardware elements, or program modules. Typically, such modules include routines, programs, objects, elements, components, data structures, etc. that perform specific tasks or implement specific abstract data types. The terms "module," "function," and "component" as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms with a variety of processors.
[0065] Implementations of the described modules and techniques may be stored on or transmitted over some form of computer-readable media. Computer-readable media may include various media accessible by computing device 702. By way of example and not limitation, computer-readable media may include "computer-readable storage media" and "computer-readable signal media."
[0066] "Computer-readable storage media" may refer to media and / or devices that enable persistent and / or non-transient storage of information, as compared to simple signal transmission, carrier waves, or signals themselves. Therefore, computer-readable storage media refers to non-signal bearing media. Computer-readable storage media include hardware such as volatile and non-volatile, removable and non-removable media, and / or storage devices implemented in the following methods or technologies: the method or technology is suitable for storing information such as computer-readable instructions, data structures, program modules, logical elements / circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other storage technology, CD-ROM, digital versatile disk (DVD) or other optical storage device, hard disk, cassette, magnetic tape, disk storage device or other magnetic storage device or other storage device, tangible media or products suitable for storing desired information and accessible by a computer.
[0067] "Computer-readable signal media" may refer to signal-bearing media that are configured to transmit instructions to the hardware of the computing device 702, for example, via a network. Signal media may typically embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, a data signal, or other transmission mechanism. Signal media also include any information transmission media. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner that information is encoded in the signal. By way of example and not limitation, communication media include wired media such as a wired network or a wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.
[0068] As previously described, hardware elements 710 and computer-readable media 706 represent modules, programmable device logic, and / or fixed device logic implemented in hardware, which may be employed in some embodiments to implement at least some aspects of the technology described herein, such as executing one or more instructions. Hardware may include components of an integrated circuit or components of a system on a chip, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware. In this context, the hardware may be operated as a processing device that performs program tasks defined by instructions and / or logic embodied by the hardware and hardware for storing execution instructions (e.g., the computer-readable storage medium described previously).
[0069] The aforementioned combination can also be adopted to implement the various technologies described herein. Therefore, software, hardware or executable modules can be implemented as one or more instructions and / or logic as follows, which are embodied in some form of computer-readable storage medium and / or implemented by one or more hardware elements 710. Computing device 702 can be configured to implement specific instructions and / or functions corresponding to software modules and / or hardware modules. Therefore, the implementation of the module executable by computing device 702 as software can be implemented at least partially in hardware, for example, by using computer-readable storage medium and / or hardware elements 710 of processing system 704. Instructions / or functions can be executable / operable by one or more products (e.g., one or more computing devices 702 and / or processing system 704) to implement the technology, modules and examples described herein.
[0070] The techniques described herein may be supported by various configurations of computing device 702 and are not limited to the specific examples of the techniques described herein. As described below, the functionality may also be implemented in whole or in part on the "cloud" 714, for example, via platform 716, using a distributed system.
[0071] Cloud 714 includes and / or represents a platform 716 of resources 718. Platform 716 abstracts the underlying functionality of the hardware (e.g., servers) and software resources of cloud 714. Resources 718 may include applications and / or data that may be utilized when executing computer processing on a server remote from computing device 702. Resources 718 may also include services provided over the Internet and / or through a subscriber network such as a cellular or Wi-Fi network.
[0072] The platform 716 can abstract resources and functionality to connect the computing device 702 with other computing devices. The platform 716 can also be used to abstract scaling of resources to provide corresponding scaling levels to the demand encountered by the resources 718 implemented via the platform 716. Therefore, in an interconnected device implementation, the implementation of the functionality described herein can be distributed throughout the system 700. For example, the functionality can be partially implemented on the computing device 702 and via the platform 716 that abstracts the functionality of the cloud 714.
[0073] in conclusion
[0074] Although the invention has been described in language specific to structural features and / or methodological acts, it should be understood that the invention defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as example forms of implementing the claimed invention.
Claims
1. A computer-implemented method comprising: Receiving a display document including nested content having disabled internal links, the display document being determined by the following process: obtaining third-party content from a third-party source, the third-party content including an internal link to a target portion within the third-party content; generating the third-party content with disabled internal links by disabling internal links in the obtained third-party content; as well as generating the display document by embedding the third-party content with the disabled internal links into the document as the nested content; displaying the display document on a display of a computing device; monitoring an address associated with the third-party source of the nested content to detect an address change corresponding to a user selection of the disabled internal link within the nested content; In response to detecting the address change, locating a corresponding target portion of the nested content associated with the selected disabled internal link by scanning the nested content, the corresponding target portion of the nested content corresponding to the target portion of the third-party content; as well as The display document is scrolled so that the corresponding target portion of the nested content is displayed on the display of the computing device.
2. The method according to claim 1, wherein: The display document includes an HTML document.
3. The method according to claim 2, wherein: The nested content is displayed within an HTML inline frame element iframe of the HTML document.
4. The method according to claim 1, wherein: The monitoring includes periodically scanning addresses associated with the nested content at regular time intervals.
5. The method according to claim 1, wherein: The address includes a URL of the third-party source where the nested content is located.
6. The method according to claim 1, wherein: When the nested content is embedded in the document, the internal linking is disabled by the service provider system.
7. The method according to claim 1, wherein: Executable scripts of the nested content are disabled, so that the disabled internal links are disabled.
8. The method according to claim 7, wherein: The executable script includes JavaScript.
9. The method according to claim 7, wherein: The nested content is displayed within the display document with a sandbox flag enabled, thereby causing the executable script of the nested content to be disabled.
10. The method according to claim 1, wherein: Displaying the nested content includes displaying the nested content obtained from the third-party source without modifying the nested content.
11. The method according to claim 1, wherein: Scrolling the displayed document to display the corresponding target portion of the nested content further comprises: determining a nested content offset by calculating a distance from a top position of the display document to a nested content start position of the nested content within the display document; determining a target portion offset by calculating a distance from a start position of the nested content to a start position of the corresponding target portion within the nested content; determining a scroll position based on the nested content offset and the target portion offset; and The display document is scrolled to the scroll position so that the corresponding target portion of the nested content is displayed on the display of the computing device.
12. The method according to claim 1, wherein: The display document includes a web page located at an address different than an address associated with the third-party source.
13. A service provider system, comprising: at least one processor; as well as a memory having computer readable instructions stored thereon, the computer readable instructions being executable by the at least one processor to perform operations comprising: obtaining third-party content from a third-party source, the third-party content including an internal link to a target portion within the third-party content; generating the third-party content with disabled internal links by disabling the internal links of the third-party content; generating a display document by embedding the third-party content with the disabled internal links into the document as nested content; providing the display document to a client computing device so that the client computing device displays the display document; A disabled link service is provided for the display document, the disabled link service being configured to detect a user selection of the disabled internal link and determine a scroll position that can be used to scroll the display document so as to display a corresponding target portion of the nested content associated with the selected disabled internal link, the corresponding target portion of the nested content corresponding to the target portion of the third-party content.
14. The service provider system according to claim 13, wherein: The disabling includes enabling a sandbox flag for the third-party content.
15. The service provider system according to claim 14, wherein: Enabling the sandbox flag disables executable scripts for the third-party content.
16. The service provider system according to claim 13, wherein: The third-party content is embedded into an HTML iframe element of the display document.
17. The service provider system according to claim 13, wherein: The disable link service is configured to detect a user selection to disable the internal link by detecting an address change of the address of the third-party source.
18. The service provider system according to claim 17, wherein: The address includes a URL of the third-party source where the third-party content is located.
19. A computing device comprising: monitor; as well as At least a memory and a processor, configured to perform operations including: Receiving a display document including nested content having disabled internal links, the display document being determined by the following process: obtaining third-party content from a third-party source, the third-party content including an internal link to a target portion within the third-party content; generating the third-party content with disabled internal links by disabling internal links in the obtained third-party content; as well as generating the display document by embedding the third-party content with the disabled internal links into the document as the nested content; displaying the display document on the display; monitoring an address associated with the nested content to detect an address change corresponding to a user selection to disable internal links within the nested content; In response to detecting the address change, locating a corresponding target portion of the nested content associated with the selected disabled internal link by scanning the nested content, the corresponding target portion of the nested content corresponding to the target portion of the third-party content; as well as The display document is scrolled so that the corresponding target portion of the nested content is displayed on the display of the computing device.
20. The computing device of claim 19, wherein: The nested content is displayed within the display document with a sandbox flag enabled, thereby causing executable scripts of the nested content to be disabled.
Citation Information
Patent Citations
Generation of web pages for verification of data
GB2552458A
Method for intelligent web reference preloading based on user behavior prediction
US20160239468A1